richfaces <a4j:support>控件简单使用

・ richfaces配置

1.导入richfaces-api-3.3.0.GA.jar richfaces-impl-3.3.0.GA.jar richfaces-ui-3.3.0.GA.jar,放到WEB-INF\lib下面

2.web.xml里加入

	<filter>
		<display-name>RichFaces Filter</display-name>
		<filter-name>richfaces</filter-name>
		<filter-class>org.ajax4jsf.Filter</filter-class>
	</filter>
	
	<filter-mapping>
		<filter-name>richfaces</filter-name>
		<url-pattern>/faces/*</url-pattern>
		<dispatcher>FORWARD</dispatcher>
		<dispatcher>INCLUDE</dispatcher>
		<dispatcher>REQUEST</dispatcher>
	</filter-mapping>

 有了这段配置,页面中用到的richfaces tag所需要的js,css等就可以从jar包里load到jsp里

3.jsp里导入taglib

<%@ taglib uri="http://richfaces.org/a4j" prefix="a4j"%>
<%@ taglib uri="http://richfaces.org/rich" prefix="rich"%>

  ・ <a4j:support>控件说明

The <a4j:support> component is the most important core component in the RichFaces library. It enriches any existing non-Ajax JSF or RichFaces component with Ajax capability. All other RichFaces Ajax components are based on the same principles <a4j:support> has.

     两个主要的属性:

event : 定义javascript事件,当此事件被触发时,触发 Ajax support来实现和后台的交互

reRender : 定义当后台返回请求数据后,画面上需要刷新的组建的 ID,复数时用逗号【,】分隔

     其他常用属性:

action,actionListener:指定后台事件

onsubmit:指定在提交时执行的javascript代码

oncomplete:指定当请求处理完成后需要执行的javascript代码

focus:指定当请求处理完成后需要设定focus的控件的ID

 

・ 代码

    1.datatable的row click 事件实现

    jsp代码

 

<rich:dataTable id="table1" border="0" cellpadding="0" 
   cellspacing="0" width="100%"value="#{bean.datalist}" 
   var="vardatalist" rows="10">
    <a4j:support event="onRowClick" actionListener="#{bean.doRowClickAction}" 
      reRender="id_name" οnsubmit="return confirm();" oncomplete="return info();"/>
   <rich:columnGroup>
       <rich:column width="20%" >
             <h:outputText styleClass="outputText" id="id060"
							value="#{vardatalist.userNm}">
	      </h:outputText>
              ...
       </rich:column>
    </rich:columnGroup>
</rich:dataTable>

   onRowClick 代码

	public String doRowClickAction(ActionEvent event)
	{
		try
		{
			UIComponent comp = event.getComponent();
			Object obj = comp.getParent();
			if (obj instanceof HtmlDataTable) {
				HtmlDataTable table = (HtmlDataTable) obj;
			        // 取得选择的行
				int rowindex = table.getRowIndex();
                                // 省略。。。
			}
		}
		catch (Exception e)
		{
			errorProcess(e);
		}
		return Constants.EMPTY_STRING;
	}
 

2.comboBox的选择事件

 

	<h:selectOneMenu styleClass="selectOneMenu" id="item" value="#{bean.itemCd}"
		     valueChangeListener="#{bean.handleItemValueChange}">
		<f:selectItems value="#{bean.itemPullDownList}" />
               <a4j:support event="onchange"  reRender="id1,id2"></a4j:support>
	</h:selectOneMenu>
			

 

参考文档

http://docs.jboss.org/richfaces/latest_3_3_X/en/devguide/html/a4j_support.html

http://livedemo.exadel.com/richfaces-demo/richfaces/support.jsf?tab=info&cid=815798

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值