JSF - 。getExternalContext()getRequestParameterMap()获得(“ID”)返回null
问题描述:
FacesContext.getCurrentInstance().getExternalContext().getRequestParameterMap().get("compId")
返回空值outputLable
和outputText
,但不适用于inputText
和inputHidden
这是为什么?我如何获得价值outputLabel或。的outputText?JSF - 。getExternalContext()getRequestParameterMap()获得(“ID”)返回null
答
这只是HTML是如何工作的。只有form elements送他们name=value
对作为HTTP请求参数,因为它们的价值可以通过终端用户来控制。
对于输出标签和输出的文本,这将不会发生。它会没有任何意义,因为ir值通常不由最终用户控制。这些值通常已由web开发者控制。如果服务器端已经知道它们,就没有必要发送它们的副本。但是,如果您允许最终用户通过JavaScript方式在客户端更改它们,那么您应该添加一个隐藏的输入元素(<input type="hidden">
)并在其上设置更改的值。隐藏的输入也会将它们的name=value
对作为HTTP请求参数发送。
为什么要获取outputLabel和outputText值?这些值不会被提交,因为它们不是用户输入/选择的一部分。 – 2013-02-14 15:59:52
是的,但我将它们作为隐藏发送给浏览器。我无法使用inputHidden,因为它不适合我需要的方式。我需要以某种方式获取outputText/outputLabel值 – sura2k 2013-02-14 16:05:56
如何设置标签? – 2013-02-14 16:12:24