action 初始化页面

场景:加载页面头里调用action初始化页面

加载页面之前调用action初始化页面
jboss seam支持在加载页面之前,在page.xml中调用action初始化页面。
例如:
要访问的页面为index.xhtml,想要在渲染该页面之前调用一个action初始化页面。那么在seam中可以写一个index.page.xml文件,在index.page.xml文件添加如下内容:
<action execute="#{indexAction.init}">
这段代码意思是每次访问index.xhtml页面时,在渲染index.xhtml页面之前先调用indexAction组件中的init方法。
有时候我们的页面包含了JSF表单,供用户查询、分页什么的,通常提交到本页面。那么这时候init方法会再次被调用。
这样是我们不想要的,要防止重复调用这种情况,seam提供一种机制。
如果想在表单提交时禁止调用页面action,需要添加action中属性on-postback设置为false。配置代码如下:
<action execute="#{indexAction.init}" on-postback="false"/>