ofBiz-groovy-freemarker

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>

步骤可以不一致。无所谓根据自己的想法来写。

猜你喜欢

转载自hdzhangkuan.iteye.com/blog/2306298