`

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