・ 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" onsubmit="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
分享到:
相关推荐
在JSF(JavaServer Faces)框架中,`<h:selectOneMenu>` 是一个用于创建下拉选择框的组件,而 `<a4j:support>` 是RichFaces库提供的一种Ajax支持的标签,它允许我们实现页面的部分更新,提高用户体验。这篇博客文章...
以下是一个简单的示例代码片段,展示了如何使用`<rich:treeNode>`: ```xml <rich:tree id="myTree"> <rich:treeModel binding="#{treeBean.treeModel}"> <rich:recursiveTreeNodesAdaptor nodes="#{treeBean....
在a4j组件部分,作者从<a4j:actionparam>开始,逐一讲解了如何使用<a4j:form>、<a4j:region>、<a4j:support>、<a4j:commandButton>、<a4j:commandLink>、<a4j:status>等组件来实现AJAX功能。每个组件都附带了详细的...
- **Basic usage**:简单介绍如何使用 `<a4j:actionParam>` 来传递参数。 - **Interoperability**:解释 `<a4j:actionParam>` 如何与其他组件协同工作。 - **Referencedata**:给出具体的使用示例和参考数据。 ####...
作用:<a4j:ajaxListener> 能够监听用户的交互事件,例如,点击按钮、选择下拉菜单等,并执行相应的服务器端逻辑。 编写事件监听类:<a4j:ajaxListener> 需要编写事件监听类,用于处理用户的交互事件。 编写页面:...
4. 客户端和服务器端推送:`<a4j:push>`组件的使用,包括设置推送、服务器端与客户端推送方法、推送主题、处理推送消息、处理推送订阅等。此外,还包括了如何使用主题上下文发布消息,以及如何将推送与CDI事件和JMS...
private List<ToolBarItem> freeItems = new ArrayList<>(); // 构造函数,初始化ToolBarItem public ToolBar() { // 初始化items和freeItems } public String do1() { System.out.println(items); System...
通过使用`<a4j:keepAlive>`,开发者可以确保Bean的状态在后续请求之间得以保留。例如: ```xml <a4j:keepAlive beanName="#{myClass.testBean}"/> ``` 这里,`beanName`属性应指向合法的JSF Managed Bean名称。 ...
`<a4j:support>`监听`onkeyup`事件,当用户在`h:inputText`中输入时,会触发`reRender="order"`,使`<rich:message>`组件和`<h:outputText>`组件更新,显示当前输入的验证状态。 6. **处理用户输入** `<a4j:...
- **<a4j:attachQueue>**: 如何将组件附加到特定的队列。 ##### 7.2 <a4j:log> - **基本用法**: 如何记录 AJAX 请求和响应的日志信息。 以上是对 RichFaces 4 组件参考文档中关键知识点的总结,通过对这些知识点的...
5. **事件处理**:RichFaces组件支持JSF的事件模型,可以通过`<a4j:actionListener>`、`<a4j:commandButton>`等元素定义操作行为,同时还可以利用`<a4j:ajax>`进行异步事件处理。 6. **国际化和本地化**:RichFaces...
- **<a4j:commandXxx>**:这是a4j提供的可触发Ajax请求的组件,例如 `<a4j:commandButton>` 和 `<a4j:commandLink>`,它们可以代替JSF标准的 `<h:commandXxx>` 组件。 - **<a4j:region>**:定义一个Ajax响应的区域,...
通过`<a4j:support>`标签,可以为表单元素或按钮添加AJAX行为,只更新表格部分而不是整个页面。例如: ```xml <h:commandButton ...> <a4j:support event="onclick" reRender="myTable" /> </h:commandButton> ...
`<a4j:jsFunction>`定义了一个JavaScript函数`drawChart`,该函数调用后端的Java方法`#{chartBean.drawChart}`并传递数据。在后端,`chartBean`是一个 Managed Bean,负责处理数据并生成Highcharts配置对象。配置...
2. **AJAX事件处理**:A4J通过`<a4j:support>`标签来定义组件的AJAX行为,可以监听并响应特定的JSF事件,如`onclick`、`onchange`等。 3. **请求和响应处理**:A4J使用`<a4j:jsFunction>`来定义JavaScript函数,...
- **<a4j:actionListener>** - **Action Listener**:用于定义动作监听器的组件。 - **<a4j:commandButton>** - **Basic usage**:命令按钮的基础使用方法。 - **Referencedata**:与组件相关的数据引用信息。 ...
A4J提供了一系列的JSF组件,如`<rich:component>`、`<a4j:commandButton>`和`<a4j:ajax>`等,它们简化了AJAX功能的集成。例如: - `<a4j:commandButton>`:这是一个具有AJAX功能的命令按钮,可以在点击后仅更新部分...