有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

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

我在一个网页上有几个表格,可以提交对应于页面上列出的每个项目的回复。我尝试通过actionListener方法本身传递与提交表单对应的项id,但这实际上导致传递参数的'然后当前'值,而不是currentItem.id的'当前'值

<h:form>
    ...
    <p:commandButton actionListener="#{itemController.addUserComment(currentItem.id)}" value="Add" />    
</h:form>

<h:form>
    ...  
</h:form>

如何将当前值currentItem.id传递给托管bean


共 (1) 个答案

  1. # 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)构造函数或操作(listener)方法中加载