`

a4j标签的使用

阅读更多
a4j:actionparam 的使用
a4j:actionparam 组件是f:param和f:actionListener的组合,可以直接对某一个Manange Bean的property进行赋值,例如下面代码:

   1.   <rich:panel> 
   2.         <a4j:commandButton value="Set Name to Alex"  reRender="rep" > 
   3.             <a4j:actionparam name="username" value="Alex" assignTo="#{userBean.name}"/> 
   4.         </a4j:commandButton> 
   5.         <rich:spacer width="20" /> 
   6.         <a4j:commandButton value="Set Name to John"  reRender="rep" > 
   7.             <a4j:actionparam name="username" value="John" assignTo="#{userBean.name}"/> 
   8.         </a4j:commandButton> 
   9.     </rich:panel> 
  10.     <rich:panel> 
  11.         <h:outputText id="rep" value="Selected Name:#{userBean.name}"/> 
  12.     </rich:panel> 
  13. </h:form> 



在actionparam标签中,name和value是必要的,此外还可以指定converter对value进行转化。

需要注意的是在server端,赋值是在UPDATE_MODEL 阶段进行的,因而如果在validate阶段,如果发生validate错误,那么model中的值是不会更新的。

此外,actionparam中的value可以是javascript代码,如下所示:

   1. <h:form> 
   2.            <a4j:commandButton value="Show Screen Size" reRender="infoPanel"> 
   3.                <a4j:actionparam name="w" value="screen.width"   
   4.                        assignTo="#{userBean.screenWidth}" noEscape="true" /> 
   5.                <a4j:actionparam name="h" value="screen.height" 
   6.                        assignTo="#{userBean.screenHeight}" noEscape="true" /> 
   7.            </a4j:commandButton> 
   8.      
   9.        <rich:panel id="infoPanel"> 
  10.            <h:panelGrid columns="2"> 
  11.                <h:outputText value="Width:" /> 
  12.                <h:outputText value="#{userBean.screenWidth}"/> 
  13.                <h:outputText value="Height:" /> 
  14.                <h:outputText value="#{userBean.screenHeight}"/> 
  15.            </h:panelGrid> 
  16.        </rich:panel> 
  17.    </h:form> 

这些代码的作用是显示当前屏幕的宽度与高度,使用screen对象获得值,需要注意的是,必须将noEscape的值设置为true方可。在上面的代码中,第三行的actionparam对userBean.name赋值,参数名称是username,值是Alex。
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics