防止重复调用Seam的page action

页面Action,说白了,就是在加载页面的时候,框架调用某个你指定的方法。
通常我们利用页面Action处理一些页面数据的加载、组件的初始化等等。
<page view-id="/users/show.xhtml" conversation-required="false">
	<param name="id" value="#{user.id}" converter="#{idConverter}" />
	<action execute="#{usersController.show(user.id)}" />
</page>

Jboss Seam中支持页面Action这个概念,具体用法是在page.xml中配置。
那么每次加载页面的时候,名为usersController的seam component的show方法就会被调用。

有时候我们的页面包含了JSF表单,供用户查询什么的,通常提交到本页面。那么这时候页面action会再次被调用。

这样就会做了一些无用操作,要防止这种情况,seam提供一种机制、在表单提交时禁止调用页面action,配置方法如下:
<page view-id="/users/show.xhtml" conversation-required="false">
	<param name="id" value="#{user.id}" converter="#{idConverter}" />
	<action execute="#{usersController.show(user.id)}" on-postback="false" />
</page>

你可能感兴趣的:(xml,框架,jboss,JSF,seam)