1

FacesContext.getCurrentInstance().getExternalContext().getRequestParameterMap().get("compId")outputLable为and返回 null outputText,但不为inputTextand inputHidden。为什么会这样,我如何获得 outputLabel 或 outputText 的值?

4

1 回答 1

2

这就是HTML的工作原理。只有表单元素将它们的name=value对作为 HTTP 请求参数发送,因为它们的值可以由最终用户控制。

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

于 2013-02-14T16:28:43.500 回答