ofBiz-groovy-freemarker根据浏览器的地址不同进入不同的页面
第一步:(2选一)创建groovy文件,或者java文件。在文件中定义变量 要放在
request.setAttribute中方便在跳转页面中查找,可以在本类中做一些验证或增删改查的方法,可自定义返回值。
第二步:在controller.xml文件中,定义路径访问的地址request-map 和 view-map 视图文件
具体操作 :
<request-map uri="text">
<event type="groovy" path="component://ykd/webapp/ykd/WEB-INF/actions/party/text.groovy"/>
<response name="success" type="view" value="Text" />
</request-map>
<view-map name="text" type="screen" page="component://ykd/widget/CommonScreens.xml#text"/>
注意 event标签中的type 可以是java 我引用的文件是groovy类型 path:component://文件具体地址
text.groovy文件 内容:
request.setAttribute("name", "奥特曼");
def books = [];
books[0] = ["name": "Java入门", "price": 85];
books[1] = ["name": "Java实战", "price": 70];
books[2] = ["name": "Java中级", "price": 63];
books[3] = ["name": "Java高级", "price": 81];
request.setAttribute("books", books);
return "success";
view-map 进行选择进入那个视图文件 type类型为screen 注意:ykd/widget/CommonScreens.xml#text #号前面是所在的文件 #后面代表文件中的
一个<screen name="Text">标签 标签名字叫 text 在<screen name="Text">标签中的<html-template>标签显示具体引用那个页面
<screen name="Text">标签展示:
<screen name="Text">
<section>
<actions>
</actions>
<widgets>
<platform-specific>
<html>
<html-template location="component://ykd/webapp/ykd/text.ftl" />
</html>
</platform-specific>
</widgets>
</section>
</screen>
第三步: ftl页面 标签可以用jap标签也可以用freemarker标签
ftl页面内容:
你的名字:<b>${requestAttributes.name}</b>
<table border=‘1‘>
<#list requestAttributes.books as book>
<tr>
<td>${book.name}</td>
<td>${book.price?if_exists}</td>
</tr>
</#list>
</table>
步骤可以不一致。无所谓根据自己的想法来写。