JSF 支持将 URL 参数映射到 EL。也支持生成 GET 友好的 URL 链接。
视图参数可用于将 URL 中的参数映射到 EL。要做到这一点只需添加类似下面的代码:
<f:metadata>
<f:viewParam name="name" value="#{user.name}"/>
</f:metadata>
假设我们通过 index.xhtml?name=jack 访问页面:
[list]
GET 请求参数名为 name。
转换和验证如果成功,那么参数将会成功绑定到 #{user.name}。转换和验证可以像 h:inputText 那样添加内嵌的 f:converter 和 f:validator 标签。例如:
<f:metadata>
<f:viewParam name="name" value="#{user.name}">
<f:validateLength minimum="1" maximum="5"/>
</f:viewParam>
</f:metadata>
[/list]
可以使用 f:event 标签对请求参数进行预处理:
<f:metadata>
<f:viewParam name="name" value="#{user.name}">
<f:validateLength minimum="1" maximum="5"/>
</f:viewParam>
<f:event type="preRenderView" listener="#{user.process}"/>
</f:metadata>
在这段代码中,定义了 #{user.process} 方法,用于页面初始化之前需要的处理。
也可以使用 h:link 和 h:button 来创建 GET 链接。
<h:link value="Login" outcome="login"/>
上面的代码生成的 HTML 是:
<a href=".../faces/login.xhtml">Login</a>
GET 请求参数也很容易设置:
<h:link value="Login" outcome="login">
<f:param name="name" value="#{user.name}"/>
</h:link>
在这段代码中,如果 #{user.name} 的值是 Jack,那么这段代码生成的 HTML 是:
<a href=".../faces/login.xhtml?name=Jack">Login</a>
同样,h:button 也可以设置输出:
<h:button value="login"/>
这段代码生成的 HTML 是:
<input
type="button"
onclick="window.location.href='/JSFSample/faces/index.xhtml'; return false;"
value="login" />
文章来源:
http://www.aptusource.org/2014/04/java-ee-7-jsf-http-get/
分享到:
相关推荐
Enterprise Edition)7规范的入门到高级技术指导书籍,涵盖了Java EE核心技术如JSF(JavaServer Faces)、CDI(Contexts and Dependency Injection)、EJB(Enterprise JavaBeans)、JPA(Java Persistence API)、...
1. **Servlet**:Servlet是Java EE中处理HTTP请求的核心组件,可以用来接收和响应来自Web客户端的请求。Servlet API定义了Servlet和Servlet容器之间的接口,包括`javax.servlet.Servlet`、`javax.servlet....
10. **Filter和Listener**:在Java EE中,Filter用于拦截和修改请求或响应,而Listener监听特定事件。`web.xml`配置文件中会有对它们的声明。 通过这些代码示例,你可以学习到如何在实际项目中使用上述Java EE技术...
Java代码中使用JSP/JSF表达式语言(EL,Expression Language)是Web开发中的一个核心概念,它允许开发者在页面上动态地访问和操作JavaBean或其他数据源的数据。EL提供了一种简洁的方式来读取和设置Java对象的属性,...
在Java企业版(Java EE)6的开发过程中,JSF(JavaServer Faces)2.0是用于构建用户界面的重要组件。这篇"jee6 学习笔记 5 - Struggling with JSF2 binding GET params"主要探讨了开发者在使用JSF2绑定GET参数时可能...
* GET请求:用于从服务器获取数据,参数通过URL传递。 * POST请求:用于将数据提交到服务器,参数通过请求体传递。 Web服务器和应用服务器 Web服务器和应用服务器是两种不同的服务器类型: * Web服务器:负责处理...
1. **Servlet**:Servlet是Java EE中最基础的组件之一,用于处理HTTP请求并生成响应。学生需要学习如何创建Servlet,以及配置web.xml文件来映射Servlet请求。 2. **JSP(JavaServer Pages)**:JSP是用于生成动态...
1. **Servlet**:Servlet是Java EE中的基础组件,用于处理HTTP请求。学生可能会编写Servlet来响应网页上的用户交互,学习如何配置Servlet以及实现HTTP方法如GET和POST。 2. **JSP(JavaServer Pages)**:JSP是一种...
- **基础概念**:Servlets是Java EE中的一个关键组成部分,用于处理客户端请求并生成响应。它们是服务器端的Java类,能够接收HTTP请求,并返回相应的HTTP响应。 - **编写流程**: - **继承Servlet类**:创建Servlet...
// 处理GET请求的逻辑 } protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // 处理POST请求的逻辑 } } ``` 2. **JSP(JavaServer ...
7. **WS-JAX-WS (Web Services)**:Java EE 6提供了基于JAX-WS的Web服务支持,允许开发和部署SOAP服务。`@WebService`和`@WebMethod`注解用于标注服务和方法。 8. **JMS (Java Message Service)**:Java EE 6包含...
JSF是Java EE规范的一部分,用于构建基于组件的用户界面。本书通过深入浅出的方式讲解了JSF的核心概念、组件、转换器、验证器、表达式语言(EL)和导航规则等内容。下面将详细阐述从给定文件内容中提取的知识点。 #...
3. **Faces 2.0 (JavaServer Faces, JSF)**:JSF 2.0 提供了更多的组件和改进的生命周期,支持自定义标签,以及更好的错误处理和异步请求处理。 4. **WebBeans (CDI, Contexts and Dependency Injection)**:CDI ...
Java EE Servlet技术是Web开发中的核心组件之一,它是由Java Community Process(JCP)定义的一套标准接口,用于处理HTTP请求。Servlet的本质是Java类,它们在服务器端运行,能够接收并响应来自客户端(通常是浏览器...
10. **WebSocket**: 虽然不是Java EE 6的核心部分,但在后续的Java EE 7中被引入,它提供了全双工的通信通道,极大地改善了实时通信性能。 综上所述,**JAVA EE 6 API**是Java开发者的重要工具,它涵盖了Web应用...
3. **JSF(JavaServer Faces)**:作为MVC(模型-视图-控制器)框架,JSF 2.2在Java EE 7中提供了一种声明式用户界面编程的方式。它与CDI(Contexts and Dependency Injection)结合,增强了组件管理和依赖注入。 4...
2. **Servlet**:Servlet是Java EE中的核心组件,用于处理HTTP请求。学生会学习如何创建Servlet,以及如何在Servlet中处理GET和POST请求,以及转发和重定向等操作。 3. **JSP**:JSP是Servlet的简化版本,允许...