我在网页上有几个表单,用于提交与页面上每个列出项目相对应的回复。我尝试通过actionListener
方法本身传递与提交的表单相对应的项ID,但这实际上导致传递参数的' then current '而不是' current < / em>'currentItem.id
的价值。
<h:form>
...
<p:commandButton actionListener="#{itemController.addUserComment(currentItem.id)}" value="Add" />
</h:form>
<h:form>
...
</h:form>
如何将currentItem.id
的当前值传递给托管bean?
答案 0 :(得分:1)
如果我理解正确,您希望在请求显示表单时传递ID,而不是在处理表单提交请求期间传递ID?
在这种情况下,请使用<f:param>
。
<p:commandButton actionListener="#{itemController.addUserComment}" value="Add">
<f:param name="id" value="#{currentItem.id}" />
</p:commandButton>
您可以@ManagedProperty
或<f:viewParam>
抓住它。
无关,我不知道为什么#{currentItem.id}
会发生这样的变化。这表明你在getter方法中加载#{currentItem}
的源代码而不是在(post)构造函数或action(listener)方法中加载。{/ p>