Jmr允许用户自定义Action,在Action中我们可以自定义变量,传递到模板中。
这样的好处是,Action负责得到变量,而模板将Action传递来的变量用来展示,实现了合理的分层。
创建Action
Eclipse中,在需要创建文件的位置,点击右键,或者在菜单->文件(file);然后点击新(New),选择Jmr Action。如果没找到,在其他(Other)的JMR目录中也有。
注意:项目必须要有Java源文件夹才能使用Action,比如Java、Java Web、Android等项目才有Java源文件夹。
输入自定义名称MyAction,点击完成(Finish)。
如果当前项目没有载入Jmr的库,点击OK导入Jmr库即可。导入的这个库类似JUnit库,不影响实际项目依赖结构。
使用Action
Action里有个execute方法,方法的参数是上节的内置对象context,我们可以调用context.setVariable(String name, Object object)设置变量,传递给模板。
在任务中点击浏览,选中刚才设置的MyAction。
模板获取Action变量
方法一
在模板中,调用context.getVariable(String name)得到变量,使用方法类似于Jsp的request.getAttribute(String name)。
得到变量后,再使用<%=%>输出。
运行结果:
方法二
使用Jmr标签获取变量的值,这样的好处是不需要调用context.getVariable(String name)。
在此处切换不同的Action,可以得到不同Action的变量的提示,。
使用get标签得到a、b、c,使用for标签遍历list的值。
运行结果和上面一样: