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

dye*_*yes 3 jsf

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

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

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

为了得到它,这篇文章很清楚:获取http变量JSF

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

Bal*_*usC 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友好的请求.

也可以看看

  • 大多数帖子都可以在[我们的JSF维基页面](http://stackoverflow.com/tags/jsf/info)中找到(你可以通过将问题下方的`[jsf]`标记悬停在然后点击*信息*链接在那个黑色popbox).此外,当您浏览`[jsf]`标签的[FAQ"标签](http://stackoverflow.com/questions/tagged/jsf?sort=faq)时,您可以获得最有趣的答案/实践/等等(默认为"活动"标签) (2认同)