使用带有JSF的get http变量和良好实践

时间:2013-01-16 16:47:46

标签: jsf

1)在JSF中使用get http变量是一个好习惯吗?它似乎试图避免这种情况。

2)这是我想要做的事情:在第一页上,我有一个链接列表,如果你点击链接,你有一个页面,其他链接等像一棵树。 我希望用户能够访问第三深度(例如),而无需从顶层开始(例如,通过带有get变量中相关对象ID的链接)。

所以我的问题是: 如何从托管bean设置get http变量?

为了得到它,这篇文章很清楚:Get http variable JSF

3)当然,如果您有其他解决方案,请随时分享。

1 个答案:

答案 0 :(得分:6)

在JSF中使用GET请求没有好的/坏的做法。如果业务需求要求使用GET请求,那么只需使用它。但是,有一些历史:在JSF 1.x中,没有设施可以简化应用/转换/验证GET参数。您必须通过遍历ExternalContext#getRequestParameterMap()和/或使用#{param}设置托管属性并自己编写所有转换/验证样板来自行完成所有操作。然后使用POST变得容易得多(阅读:代码减少),这可能导致GET在JSF中“坏”的神话。

从JSF 2.0开始,引入了新的<f:viewParam>标签,这应该让它变得轻而易举。它类似于<h:inputText>,包括转换/验证,但随后是请求参数。

请注意,使用POST进行纯页面到页面导航实际上实际上是一种不好的做法,这在JSF 1.x中经常发生。它导致了无书签和非SEO友好的请求。

另见