Rose4J WEB引擎下载试用
1、在java端编写一个功能类
public class XXUtil{
public static boolean isOld(int a){
if(a>1)return true;
return false;
}
public static boolean isNew(int a){
if(a<=1)return true;
return false;
}
}
并将这个类放入context中
然后view层就可以这样描述:
<input name="old.id" value="this is old value" j:remove="${XXUtil.isOld(a)}"/>
<input name="id" value="this is new value" j:remove="${XXUtil.isNew(a)}"/>
这相当于jstl里的
<c:if test="a>1">
<input name="old.id" value="this is old value" j:remove="${XXUtil.isOld(a)}"/>
<c:else>
<input name="id" value="this is new value" j:remove="${XXUtil.isNew(a)}"/>
</c:if>
在运行时其中一个input肯定会被删除掉,这样就完成了if的功能,在这里我只是举例说明,你也可以将这两个(或多个)input合并成一个,需要变化的部分全用变量代替(如下)。这样一来所有的逻辑(包括界面逻辑)全在服务器端实现,界面仍然非常简洁。
<input name="${xxx.name}" value="${xxx.value}" j:remove="${XXUtil.isOld(a)}"/>
此时这一行就代表了多个if else,当然XXUtil这个类的逻辑也要做相应的修改了。