FacesContext.getCurrentInstance().getExternalContext().getRequestParameterMap().get("compId")
为outputLable
和outputText
返回null,但inputText
和inputHidden
不返回。
为什么这样,我如何获得outputLabel或outputText的值?
答案 0 :(得分:2)
这就是HTML的工作原理。只有form elements将name=value
对作为HTTP请求参数发送,因为它们的值可以由最终用户控制。
对于输出标签和输出文本,这不会发生。这没有任何意义,因为它们的价值通常不受最终用户的控制。这些值通常已由webdeveloper控制。如果服务器端已经知道它们,则无需发回它们的副本。但是,如果您允许最终用户通过JavaScript方式在客户端更改它们,那么您应该添加一个隐藏的输入元素(<input type="hidden">
)并在那里设置更改的值。隐藏的输入也会将其name=value
对作为HTTP请求参数发送。