我想知道何时将代码放在我的JSF中。
<h:inputHidden id="patientId" value="#{requestScope['patientId']}"/>
<%=request.getParameter("patientId") %>
我的流程就像One.jsf - &gt;点击名为支持Bean的链接 - &gt;从支持bean导航到Two.jsf
我在One.jsf的请求范围中设置了patientID。我可以在支持bean上访问它。
现在使用
在two.jsf上<%=request.getParameter("patientId") %>
我可以使用
访问我的值ID<h:inputHidden id="patientId" value="#{requestScope['patientId']}"/>
我无法访问我的value-id。即使在html页面源代码中也没有显示出价值.... ??
为什么会这样?
答案 0 :(得分:3)
从Request对象中,您可以获得两个请求参数(在GET请求中传递给URL的参数)和请求属性(请求属性是存储在请求对象中的值,并在请求完成之前一直存在)。
#{requestScope['patientId]}'
对应于request.get / setAttribute(...)
#{param['patiendId']}
对应于request.getParameter()(参数是只读的,不能设置)。
在您的情况下,您可以访问托管bean中的值,因为它存储在调用托管bean的同一请求中。当请求完成并打开新页面时,您将无法再访问此值,因为它与之前的请求相关联。