comanndButton和commandLink
会发送回本页面,并触发JSF的生命周期,比如:重建组件树、应用请求值等,因此,允许设置actionListener和action属性,这样他们可以很轻松完成强大的功能。不足在于:如果重建组件树的成本比较高(比如:当前页面显示一个数据表格),而这些组件对于即将跳转到的页面没什么用时,就应该考虑使用outputLink了。
另外:如果需要传递参数<f:param.../>,使用commandLink
在action或actionListener中获取<f:param.../>:
FacesContext ctx = FacesContext.getCurrentInstance();
int productId = Integer.parseInt((String)ctx.getExternalContext().getRequestParameterMap().get("productId"));
outputLink
比起前两个来说,他相当的轻量级了。他会直接产生一个<a href=""></a>链接,跳转到相应的页面,因此没有进入JSF生命周期的额外开销,跟我们直接写一个html的链接没什么区别。
如果需要传递参数,嵌入<f:param name="a" value="b"/>就可以了,当然这里的value可以用表达式来表示,比如value="#{param.productId}",用起来是相当方便的。
<h:outputLink value="productEdit.faces">
<h:outputText value="编辑"/>
<f:param name="productId" value="#{item.productId}"/>
</h:outputLink>
----------------------------------------------------------
comanndButton和commandLink:
h:commandButton
可以提交表单,但不能传递参数
h:commandLink
可以提交表单,又能传递参数,但是以链接的形式展现
commandLink必须要在一个from中。
comanndButton和commandLink要在一个from中才能提交表单内容。
会发送回本页面,并触发JSF的生命周期,比如:重建组件树、应用请求值等,因此,允许设置actionListener和action属性,这样他们可以很轻松完成强大的功能。
<h:commandButton actionListener="#{actionListener.check}"; value="送出"; action="#{user.check}" />
actionListener 响应的一个事件,当然这个和js中的事件不一样.actionListener="#{actionListener.check}"响应的是服务器端的事件actionListener类的check方法.
action 用过STRUTS的都知道,提交后执行的方法.当然在SRTUTS中action="URL",而这里是一个user类的check方法.
不足在于:如果重建组件树的成本比较高(比如:当前页面显示一个数据表格),而这些组件对于即将跳转到的页面没什么用时,就应该考虑使用outputLink了。
<h:commandLink action="#{user.testLink}"><f:verbatim>增加</f:verbatim></h:commandLink>
另外:如果需要传递参数<f:param.../>,使用commandLink
在action或actionListener中获取<f:param.../>:
FacesContext ctx = FacesContext.getCurrentInstance();
int productId = Integer.parseInt((String)ctx.getExternalContext().getRequestParameterMap().get("productId"));
outputLink
比起前两个来说,他相当的轻量级了。他会直接产生一个<a href=""></a>链接,跳转到相应的页面,因此没有进入JSF生命周期的额外开销,跟我们直接写一个html的链接没什么区别。
如果需要传递参数,嵌入<f:param name="a" value="b"/>就可以了,当然这里的value可以用表达式来表示,比如value="#{param.productId}",用起来是相当方便的。
<h:outputLink value="productEdit.faces">
<h:outputText value="编辑"/>
<f:param name="productId" value="#{item.productId}"/>
</h:outputLink>
其效果为<a href="..jsf?productId=..."></a>
h:commandButton、h:commandLink 和h:outputLink的差别在于:h:outputLink没有进入JSF的生命周期,而h:commandLink和h:commandButton都要进入JSF的生命周期.
-----------------------------------------------------
分享到:
相关推荐
- **Backing Bean**:在后台Bean(如`ABean`)中定义一个方法调用`downloadFile`,然后在JSF界面使用`<h:commandButton>`或`<h:commandLink>`组件触发该方法。例如,`<h:commandButton value="download" action="#{...
本文将深入探讨JSF中的一些常见控件及其使用方法,旨在帮助开发者更好地理解和应用这些控件。 1. **输入控件**: - `h:inputText`:用于创建简单的文本输入字段,可以与Bean中的属性绑定,处理用户输入的数据。 -...
在JSF中,我们通常使用`h:commandLink`或`p:commandButton`来创建分页链接或按钮。例如,我们可以创建“上一页”、“下一页”以及页码链接。这些组件会触发一个后台动作事件,以便更新当前显示的数据页。 2. **...
**JSF(JavaServer Faces)** 是一个Java平台上的用户界面框架,用于构建Web应用程序。它为开发人员提供了一种模型-视图-控制器(MVC)架构,简化了前端和后端之间的交互。JSF提供了组件库,使得创建动态、交互式的...
深入讨论JSF中Tree2组件使用方法。
- `a4j:commandLink` 和 `a4j:commandButton`:替代JSF的`h:commandLink`和`h:commandButton`,支持Ajax操作。 - `a4j:outputPanel`:定义要更新的页面部分。 - `a4j:status`:显示Ajax请求的状态。 - `a4j:load...
页面中可以使用JSF组件,如`h:inputText`用于文本输入,`h:commandButton`用于提交表单。Managed Bean则负责处理用户的动作和保存数据。 **5. JSF组件** JSF提供了丰富的UI组件库,如按钮、输入框、表格、下拉菜单...
学习Ajax4JSF,你将掌握如何在JSF应用中集成Ajax,创建异步交互,以及使用其提供的各种Ajax组件,如`a4j:support`和`a4j:commandButton`。 5. **JSF项目的创建**:这部分教程会指导你从零开始创建一个完整的JSF项目...
3. **视图和导航**:讨论JSF如何处理页面间的导航,包括使用`<h:commandLink>`和`<h:button>`进行跳转。 4. **数据绑定**:讲解如何使用EL(Expression Language)将UI组件与JavaBeans属性绑定。 5. **事件和监听器*...
- **Ajax行为组件**:提供了一系列内置的行为组件,如`<a4j:commandButton>`、`<a4j:commandLink>`等,它们能够触发Ajax请求并更新指定的UI组件。 - **局部刷新**:Ajax4JSF支持对页面上的特定区域进行刷新,而不是...
**JSF(JavaServer Faces)** 是一个Java平台上的用户界面框架,用于构建Web应用程序。它简化了前端和后端的交互,提供了组件化、事件驱动的开发模式。而**Facelet**是JSF的视图层技术,是JSF 1.2版本引入的一个重要...
jsf实例 JSF学习 JSF jar包 JSF jsf实例 JSF学习 JSF jar包 JSFjsf实例 JSF学习 JSF jar包 JSF jsf实例 JSF学习 JSF jar包 JSF
本文档将详细介绍JSF中的一些核心标签及其使用方法。 #### 二、JSF页面配置与初始化 在使用JSF开发应用之前,通常需要在页面顶部声明JSF相关的标签库,以便在后续的代码中引用这些标签库中的组件。常见的JSF标签库...
- **a4j:commandLink** 和 **a4j:commandButton**:扩展JSF的`h:commandLink`和`h:commandButton`,提供Ajax支持。 - **a4j:outputPanel**:定义一个响应Ajax请求时更新的面板。 - **a4j:actionparam**:传递参数到...
**JSF 1.2核心详解** JavaServer Faces (JSF) 是Java平台上的一个用于构建用户界面的组件模型框架,特别适用于Web应用程序的开发。JSF 1.2是该框架的一个重要版本,它在JSF 1.1的基础上进行了一系列的改进和增强,...
总结,JSF中的常用标签包括<h:commandLink>、<h:commandButton>、、、、、、、、、<h:outputLink>和等。这些标签用于构建用户界面,与后台bean交互,并处理表单提交、验证和导航。理解和熟练使用这些标签是JSF开发的...
在faces-config.xml中定义导航规则,或使用JSF动作(如`h:commandLink`和`h:commandButton`的`action`属性)来指定用户操作后的页面跳转。数据转换则确保用户输入的数据类型与Bean中的属性类型匹配。 6. **国际化和...
JSF是一种用于构建Java ... 包含JSP页面的JSF应用程序也使用由为了表现UI组件和在页面上的其他对象的JSF技术而定义的标准的tag库。 Java Server Faces技术的重要开发框架 sun-ri、myfaces、icefaces、richfaces、seam
- 示例:`<h:outputLink value="../index.jsp"><h:outputText value="Link to Index"/></h:outputLink>` - 可以使用`<f:param>`添加URL参数。 - **outputFormat**:用于格式化输出文本。可以通过`<f:param>`来指定...