页面到Bean的参数传递
页面中设置参数:
<h:form>
<h:commandLink value="Test2" action="#{paramBean.test}">
<f:param name="name" value="zhang"></f:param>
<f:param name="id" value="123456"></f:param>
</h:commandLink>
</h:form>
注意:这里只能使用h:commandLink标签,而不能使用h:commandButton标签!
后台取参数:
(1) 通过Request对象取值
HttpServletRequest request = (HttpServletRequest)FacesContext.getCurrentInstance().getExternalContext().getRequest();
request.getParameter("name");
(2)通过RequestParameterMap取值
Map varMap = FacesContext.getCurrentInstance().getExternalContext().getRequestParameterMap();
varMap.get("id");
(3)通过配置文件进行Bean的属性值注入,在Bean的方法中直接使用属性
<managed-bean>
<managed-bean-name>paramBean</managed-bean-name>
<managed-bean-class>com.spg.bean.ParamBean</managed-bean-class>
<managed-bean-scope>request</managed-bean-scope>
<managed-property>
<property-name>id</property-name>
<property-class>java.lang.String</property-class>
<value>#{param.id} </value>
</managed-property>
</managed-bean>
页面到页面的参数传递
页面中设置参数:
(1)
<h:outputLink value="param2.jsf">
<h:outputText value="Test4"></h:outputText>
<f:param name="name" value="chen"></f:param>
<f:param name="id" value="123456"></f:param>
</h:outputLink>
(2)
<h:outputLink value="param2.jsf?name=chen&id=123456">
<h:outputText value="Test4"></h:outputText>
</h:outputLink>
注意:以上两种方法,不能同时使用!
页面中取参数:
(1) 使用JSF的值表达式
<h:outputText value="#{param.name}"></h:outputText>
<h:outputText value="#{param.id}"></h:outputText>
(2) 使用JSP的表达式
<%=request.getParameter("name")%>
<%=request.getParameter("id")%>
分享到:
相关推荐
JSF 提供了多种方法来处理参数传递,包括使用`<f:param>`标签、Managed Bean的属性绑定以及共享Request Beans等。 1. **使用 `<f:param>` 标签传递参数**: 这是最基础的传递参数方式,常用于链接或按钮的点击事件...
在JSF(JavaServer Faces)框架中,参数...总结来说,JSF中参数传递的核心在于`f:param`标签的使用,以及在后台通过不同方式获取这些参数。通过熟练掌握这些技巧,开发者能够更好地在JSF应用中实现数据交互和页面导航。
4. `h:outputFormat`允许格式化输出,它使用`f:param`子标签传递参数。如示例所示,`<h:outputFormat value=”{0} is {1} years old!” >...</h:outputFormat>`将输出"Bill is 38 years old!",`f:param`标签内的`...
- **功能**:`f:converter` 标签允许我们指定一个JSF Converter实现(实现了`javax.faces.convert.Converter`接口的类),以便对JSF组件的输入输出值进行转换。 - **使用示例**: - JSP: ```jsp <h:inputText ...
在JavaServer Faces (JSF) 框架中,`f:actionListener` 标签提供了一种机制来为`h:commandLink`、`h:commandButton`等命令组件指定自定义的事件监听器类。通过这种方式,开发者能够更加灵活地控制这些命令组件的行为...
- `<f:param>`:传递参数给动作或方法表达式。 - `<f:attribute>`:向组件添加属性。 - `<f:actionListener>`:注册操作监听器,用于响应用户的动作。 - `<f:valueChangeListener>`:注册值变更监听器,当组件值...
除了标准HTML渲染标签,JSF还有一组核心标签,如`<f:view>`、`<f:metadata>`和`<f:event>`,它们不依赖特定的渲染套件,可用于跨不同输出表示层的场景。 7. **属性扩展**: 许多JSF标签还支持HTML4.01属性和DHTML...
- **<f:param>**:传递参数给页面。 - **<f:phaseListener>**:监听JSF生命周期的不同阶段。 - **<f:selectItem>**:创建下拉菜单项。 - **<f:selectItems>**:创建一组下拉菜单项。 - **<f:...
在JSF中,可以通过f:param标签将参数传递给后端的Bean。在页面上定义f:param标签,并在后端Bean中通过FacesContext的getRequestParameterMap方法获取参数值。 示例代码: ```xml <h:commandButton action="#{...
此外,文档使用了JSTL标签库中的fmt标签来实现国际化和本地化支持,如使用<f:param>来传递参数给outputFormat组件。 最后,文档提到了如何使用EL表达式(Expression Language)和JSF中的组件模型来创建应用上下文...
5. **分页参数传递**:在URL中或者使用隐式请求参数(例如,通过`f:param`标签)传递分页信息,使得服务器能够理解用户请求的页码。 6. **响应处理**:服务器根据请求处理结果,将新的数据发送回客户端,并可能更新...
GET请求可以使用`<f:viewParam>`来传递参数,并在页面渲染前设置bean的属性。JSF还支持将请求参数映射到bean的属性上,这在表单提交时非常有用。 ### JSF转换与验证 JSF框架提供了内建的转换器和验证器。转换器...
例如,将一个Bean的属性值作为参数传递,以便在弹出窗口中显示或使用。 - 通过在`<f:viewParam>`或`<f:setPropertyActionListener>`标签中设置值,可以将URL参数或动作事件参数绑定到Bean,这些值可以在弹出窗口的...
8. **JSP操作指令**:如`<%@ include file="URL" %>`, `<%@ taglib uri="taglibURI" prefix="pre" %>`, `<jsp:param name="name" value="value" />`分别用于页面包含、引入标签库和传递参数。 9. **HTTP请求处理**...
- `<jsp:param>`:用于传递参数。 #### 九、读取HTTP请求参数 - `getParameter()`:获取单个参数值。 - `getParameterValues()`:获取多个相同名称的参数值。 - `getParameterNames()`:获取所有参数名称。 #### ...
- **jsp:param**:传递参数给包含的文件或标签库。 #### 九、HTTP请求参数处理 - **getParameter()**:获取单个参数值。 - **getParameterValues()**:获取多个参数值。 - **getParameterNames()**:获取所有参数名...