本节书摘来异步社区《Java EE 7精粹》一书中的第3章,第3.6节,作者:【美】Arun Gupta,更多章节内容可以访问云栖社区“异步社区”公众号查看。
3.6 HTTP GET
JSF提供了在HTTP GET请求中,映射URL参数到EL表达式的支持。还提供了产生对GET友好的URL的支持。
视图参数可以用于在GET请求中,映射URL参数到EL表达式。可以通过添加下面的代码片段到一个Facelets页面来实现:
![767c12a1352b76f22a18122cae1e635b14b10c7f](https://i-blog.csdnimg.cn/blog_migrate/d87af7a30f3d107fcc8fd98c0fd41abd.png)
访问Web应用程序的index.xhtml?name=jack将会:
- 获取名为name的请求参数。
- 如果需要,可以进行转换和验证。就像在任意h:inputText中那样,通过内嵌f:converter和f:validator的方式来实现,示例如下:
- 如果成功的话,把name参数绑定到#{ user.name }。
可以使用f:event实现在页面渲染前处理视图参数:
在这段代码中,#{user.process}指定的方法可在渲染页面所需的任何初始化之前执行。
可以使用h:link和h:button产生对GET友好的URL。在其中指定预期的Facelets页面,而不是手动构造URL:
这段代码被翻译成如下HTML标签:
视图参数很容易指定:
在这段代码中,如果#{user.name} 绑定值为“Jack”,那么这段代码被翻译成如下HTML标签:
同样地,h:button可以用于指定输出:
这段代码将产生如下HTML标签: