a4j:actionparam 的使用

本文介绍a4j:actionparam组件,它是f:param和f:actionListener的结合体,能直接对某个ManageBean的属性进行赋值。文章通过示例展示了如何使用该组件来设置用户名称及获取屏幕尺寸。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值