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的值。

运行结果和上面一样: