Rose4J WEB引擎下载试用
关键字: web最新内容请参考www.rose4j.cn
经过几天的整理修正,现在Rose4J的WEB开发引擎终于可以跟大家见面了,前台页面与后台java程序能完全分开,使用两端的工作都变得简单清晰,入门难度几乎为零,附件中是所需要的jar包,请下载试用。
下面我们来看看Rose4J的模板的使用方法:
一、WEB模板代码;
见附件(这里显示不了html代码,郁闷中) 其中4个属性可用于html任何标签(如用于tr ,td等),foreach、item配合使用,表示一个循环,foreach="${dataSet}" ,此时dataSet是一个集合对象或数组,item="${data}" ,data表示集合对象或数组对象中每一个成员。
从上面模板可以看出Rose4J只有两个TAG(tempnode、include)和4个属性(foreach、item,tid,remove),它也是一个标记语言,写法如下 ${变量表达式} 。
评论
当初在设计view层时,并不想在view层放入太多的逻辑,但对于常规的应用还是有考虑的,roseforj有个remove属性 当它为true时就会保留到页面,为false时则会动态地删除,也就是说在运行时会删除这个节点,而remove可以写死(如:remove=true等),也可以由后台控制(remove=${java表达式}),由此功能实现if操作,这样一来在view层的代码也是最少的,页面也是最干净的
remove用法说明:
假设我们要完成这样一个功能,当变量(int) a>1时我们需要显示<input name="old.id" value="this is old value"/>,当 a<=1时我们需要显示<input name="id" value="this is new value"/>,那么我们就可以这样实现:
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这个类的逻辑也要做相应的修改了。
发表评论
提醒: 该博客已发表在公共论坛,博客所有留言会成为论坛回贴,留言请注意遵守论坛发贴规则
- 浏览: 8212 次
- 性别:

- 来自: 上海

- 详细资料
搜索本博客
最新评论
-
Apache POI HSSF的简单使 ...
这个应该就是官方user Guide的一个中文翻译版本
-- by Joo -
映射 SQL 和 Java 类型
原文请看:http://kummy.itpub.net/post/17165/1 ...
-- by lthu -
Rose4J WEB引擎下载试用
怎么做if的操作呢? 当初在设计view层时,并不想在view层放入太多的逻辑 ...
-- by lthu -
Rose4J 新的WEB开发引擎
remove用法说明: 假设我们要完成这样一个功能,当变量(int) a ...
-- by lthu -
Rose4J 新的WEB开发引擎
RoseForJ只有两个TAG(tempnode、include)和4个属性(f ...
-- by lthu






评论排行榜