1:JSF页面之间传参
方法1:
<h:outputLinkvalue="param2.jsf">
<h:outputTextvalue="Test4"></h:outputText>
<f:paramname="name"value="chen"></f:param>
<f:paramname="id"value="123456"></f:param>
</h:outputLink>
方法2:
<h:outputLinkvalue="param2.jsf?name=chen&id=123456">
<h:outputTextvalue="Test4"></h:outputText>
</h:outputLink>
2:JSF页面之间取得参数
方法1:
<h:outputTextvalue="#{param.name}"></h:outputText>
方法2:
<%=request.getParameter("name")%>
3:JSF页面到后台传参
<h:form>
<h:commandLinkvalue="Test2"action="#{paramBean.test}">
<f:paramname="name"value="zhang"></f:param>
<f:paramname="id"value="123456"></f:param>
</h:commandLink>
</h:form>
4:JSF后台取得页面值
方法1:
HttpServletRequestrequest=(HttpServletRequest)FacesContext.getCurrentInstance().getExternalContext().getRequest();
request.getParameter("name");
方法2:
MapvarMap=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:JS中可以使用java代码。获得当前Bean、获得当前Bean中属性值的java代码。
try{
parent.historyIframe.addHistory('/glp_user/glp_user_view_ViewForm.faces?<%=FacesContext.getCurrentInstance().getApplication().createValueBinding("#{glpUserForm.historyUrlParameter}").getValue(FacesContext.getCurrentInstance())%>','<%=LocaleMessage.getMessage("glpUser.glp_user_view_ViewForm.heading")%>(<%=FacesContext.getCurrentInstance().getApplication().createValueBinding("#{glpUserForm.glpUser.userName}").getValue(FacesContext.getCurrentInstance())
%>)',"1")
}catch(e){}
2:通过配置文件属性注入,param可以将页面上存入request的值放入后台的属性中。
public String getHistoryUrlParameter(){
if(this.glpUserPrimaryKey ==null)
return "_key=" + this.glpUser.getUserId();
return "_key=" + this.glpUserPrimaryKey;
}
<managed-bean>
<managed-bean-name>glpUserForm</managed-bean-name>
<managed-bean-class>
cn.com.brilliance.begen.webapp.action.GlpUserForm
</managed-bean-class>
<managed-bean-scope>request</managed-bean-scope>
<managed-property>
<property-name>glpUser</property-name>
<value>#{glpUser}</value>
</managed-property>
<managed-property>
<property-name>glpUserPrimaryKey</property-name>
<value>#{param._key}</value>
</managed-property>
</managed-bean>
分享到:
相关推荐
通过学习这个教程,你将能够熟练地配置JSF环境,创建和管理Bean,使用Facelets创建动态视图,以及掌握各种参数传递技巧,从而开发出高效且易于维护的JSF应用程序。 总之,JSF是一个强大且灵活的Web开发框架,它简化...
在JSF(JavaServer Faces)框架中,参数传递是页面交互和数据管理的重要部分。本文将详细介绍JSF中如何传递参数,主要关注使用`f:param`标签的方式。 首先,我们来看一下`f:param`标签的基本用法。在JSF中,`f:...
JSF 提供了多种方法来处理参数传递,包括使用`<f:param>`标签、Managed Bean的属性绑定以及共享Request Beans等。 1. **使用 `<f:param>` 标签传递参数**: 这是最基础的传递参数方式,常用于链接或按钮的点击事件...
- **Web-INF**:此目录下可能包含`web.xml`部署描述符,配置了JSF的初始化参数和servlet。 - **faces-config.xml**:JSF的配置文件,用于注册组件、命名约定、导航规则等。 - **JSF页面(.xhtml)**:Facelets文件,...
2. **Apply Request Values**:将请求参数赋值给组件。 3. **Process Validations**:执行验证逻辑。 4. **Update Model Values**:将组件值更新到模型。 5. **Invoke Application**:调用后端业务方法。 6. **...
- **Apply Request Values**:读取HTTP请求参数,将它们映射到UI组件和Bean属性上。 - **Process Validations**:执行验证逻辑,检查用户输入是否符合预定义的规则。 - **Update Model Values**:更新Bean的属性值,...
- **零参构造函数**:Bean必须有一个无参数的构造函数,这允许容器实例化Bean而无需传递任何参数。 - **省略所有构造器**:如果不显式定义构造函数,Java默认会提供一个无参数构造函数。 - **可序列化**:尽管...
在JSF中,Bean不仅可以存储和传递数据,还可以包含业务逻辑方法,这些方法可以响应用户的操作,如按钮点击或表单提交。通过结合使用JSF的组件、EL和Backing Beans,开发者可以构建出复杂且可维护的Web应用程序。 ...
此外,文档使用了JSTL标签库中的fmt标签来实现国际化和本地化支持,如使用来传递参数给outputFormat组件。 最后,文档提到了如何使用EL表达式(Expression Language)和JSF中的组件模型来创建应用上下文范围内的...
JSF表达式语言可以用来传递参数到目标页面。例如,`to-view-id`可以包含EL表达式,将值传递给目标页面: ```xml <to-view-id>/result.xhtml?faces-redirect=true¶m=#{myBean.someValue} ``` **6. 面向切面的...
当一个UI组件触发了setPropertyActionListener,它会调用一个指定的方法,并将该组件的值作为参数传递。这样,接收方组件就可以根据传入的值更新自己的状态。这种方式在处理复杂表单或需要在多个组件间同步数据时...
10. **JSP参数标记**:`<jsp:param>`用于传递参数,基本语法是`<jsp:param name="name" value="value" />`。 11. **请求处理**:通过`request.getParameter()`获取单值参数,`request.getParameterValues()`获取多...
- `<jsp:param>`:用于传递参数。 #### 九、读取HTTP请求参数 - `getParameter()`:获取单个参数值。 - `getParameterValues()`:获取多个相同名称的参数值。 - `getParameterNames()`:获取所有参数名称。 #### ...
11. JSP参数标记:用于传递参数到JSP动作或脚本元素中。 12. 请求对象的方法:如getParameter()、getParameterValues()和getParameterNames(),用于获取请求参数。 13. 请求作用域变量的管理:setAttribute()和...
3. JSF请求处理生命周期:Restore View、Apply Request Values、Process Validations、Update Model Values、Invoke Application、Render Response。 4. EJB与Java Bean的区别:EJB提供更高级别的服务,如事务管理、...
而括号方式则允许传递参数调用方法,如`#{bean.method('arg')}`。 其次,EL具有上下文(Context)的概念,它包含了当前请求处理过程中可用的各种对象,比如request、session、application范围的JavaBeans,以及隐含...
10. JSP动作标记:如jsp:param用于传递参数。 11. request对象的方法:getParameter()、getParameterValues()和getParameterNames()分别用于获取单值参数、多值参数和所有参数名。setAttribute()和getAttribute()...
5. **动态内容和参数传递** - **动态属性(Dynamic Attributes)**:Tiles允许在运行时传递动态参数,这些参数可以在页面中使用,增强页面的灵活性。 - **属性传递**:通过`<put>`标签,可以将属性值注入到Tiles...