2013-02-14 109 views
1

FacesContext.getCurrentInstance().getExternalContext().getRequestParameterMap().get("compId")返回空值outputLableoutputText,但不适用于inputTextinputHidden 这是为什么?我如何获得价值outputLabel或。的outputText?JSF - 。getExternalContext()getRequestParameterMap()获得(“ID”)返回null

+0

为什么要获取outputLabel和outputText值?这些值不会被提交,因为它们不是用户输入/选择的一部分。 – 2013-02-14 15:59:52

+0

是的,但我将它们作为隐藏发送给浏览器。我无法使用inputHidden,因为它不适合我需要的方式。我需要以某种方式获取outputText/outputLabel值 – sura2k 2013-02-14 16:05:56

+0

如何设置标签? – 2013-02-14 16:12:24

回答

2

这只是HTML是如何工作的。只有form elements送他们name=value对作为HTTP请求参数,因为它们的价值可以通过终端用户来控制。

对于输出标签和输出的文本,这将不会发生。它会没有任何意义,因为ir值通常不由最终用户控制。这些值通常已由web开发者控制。如果服务器端已经知道它们,就没有必要发送它们的副本。但是,如果您允许最终用户通过JavaScript方式在客户端更改它们,那么您应该添加一个隐藏的输入元素(<input type="hidden">)并在其上设置更改的值。隐藏的输入也会将它们的name=value对作为HTTP请求参数发送。

+0

我在等你的答案。我知道,我做错了什么。无论如何,你能告诉我,如果我使用绑定,那么是否有机会获得该价值? – sura2k 2013-02-14 16:39:43

+0

有很多方法可以从视图中提取开发人员控制的数据。哪一个是正确的取决于具体的功能要求,在这一点上仍然是未知的。另见我对你的问题的评论。 – BalusC 2013-02-14 16:41:07

+0

我使用了不同的getter(不同的名称),并返回之前使用的值,我将新的setter留空。它的工作原理。只有在阅读完答案后,我才了解它的工作方式。你救了我 :)。谢谢! – sura2k 2013-02-14 16:49:43

相关问题