您的位置:首页 > 其它

Seam中细粒度配置文件(*.page.xml)的<param >理解

2014-04-24 19:48 537 查看
页面参数是seam中真正唯一的特性。他们使用值表达式将请求参数绑定到模型属性上。请求参数既可以是表单POST数据,也可以是查询字符串参数。


“模型”可以是任何Seam组件或者是JSF中的managed bean。当收到视图ID的所示的JSF的视图请求时,在进入该页面时——(在Render Response之前)

与该视图ID关联的每个页面参数都要执行求值。然后利用值表达式所映射的其JavaBean的设置方法,将这个值付给模型属性。

例如在CaseList.xhtml中有搜索功能:

<h:outputLabel value="案件名称:"/>
<h:inputText value="#{lawCaseList.searchString}" >
<h:commandButton value="搜索" action="/CaseList.xhtml">

那么在相应的CaseList.page.xml(细粒度配置文件)中,就会有相应的参数:

<param name="search" value="#{lawCaseList.java}">


这样的话,在你输入姓名之后,在地址栏就会显示如在配置文件中的“名称/值”对!
http://localhost:8080/CaseList.seam?dptId=0&sort=xtbh&firstResult=0&shiju=false&orderField=xtbh&shezhong=false&liangwei=false&maxResults=25&logic=and&shengting=false&orderDirection=desc&duban=false&dir=desc&search=%E6%9F%90%E6%9F%90%E6%9F%90&lastYear=false&memberId=0&cid=18
另外这里涉及了一些关于JSF中RESTful导航和书签URL的一部分知识,需要弄清楚,写在另一篇文章里。

在JSF中,一个get请求,用于显示某项特定的信息,项目ID被提供一个查询参数,当接受到参数时,参数值必须被传送到适当的bean中。如下代码所示:

<f:metadata>
<f:viewParam name="item" value="#{catalog.currentItem}">
</f:metadata>

在Seam中这种的方式转换为细粒度配置文件里面:
<param name="item" value="#{catalog.curentItem}">
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: