3

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

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

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

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

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

4

1 回答 1

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 友好的请求。

也可以看看

于 2013-01-16T16:52:41.577 回答