Jsf 按commandButton键,将通过页面获取的值传递给托管bean
我需要将通过请求范围的托管beanJsf 按commandButton键,将通过页面获取的值传递给托管bean,jsf,Jsf,我需要将通过请求范围的托管bean{pim}(当页面最初加载时)在页面上检索到的bean的值设置为按下commandButton时的{requestScope}。 但是,当按下命令按钮时,它使用新实例化的#{pim}bean的值,该值将为空 #{pim.targetId} <p:commandButton value="View"> <f:setPropertyActionListener value="#{pi
{pim}
(当页面最初加载时)在页面上检索到的bean的值设置为按下commandButton时的{requestScope}
。
但是,当按下命令按钮时,它使用新实例化的#{pim}
bean的值,该值将为空
#{pim.targetId}
<p:commandButton value="View">
<f:setPropertyActionListener value="#{pim.targetId}" target="#{requestScope.id}" />
</p:commandButton>
{pim.targetId}
但当包含值的#{pim}
bean在请求后被销毁时,这不起作用。我希望它能工作,希望它能分配加载页面时检索到的值,但它不能这样工作。使用
而不是
。前者在呈现命令按钮时直接在生成的ajax脚本中设置请求参数,而后者在处理表单提交时完全在服务器端设置属性(因此,表单提交已经丢失,因为它涉及一个全新的请求,并且是一个请求范围的属性)
<f:param name="id" value="#{pim.targetId}" />
@ManagedProperty("#{param.id}")
private Long targetId;