如何将与提交的表单对应的项目ID传递给action / actionlistener方法?

时间:2011-10-31 09:40:17

标签: java jsf

我在网页上有几个表单,用于提交与页面上每个列出项目相对应的回复。我尝试通过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?

1 个答案:

答案 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>