【问题标题】:Submit data in one form from another form JSF以一种形式从另一种形式提交数据 JSF
【发布时间】:2012-10-23 09:47:53
【问题描述】:

选择编辑时,会调用支持 bean,但表单字段不会预先填充数据。

<h:form id="EmpDetails">
   <h:inputText value="#{empBean.fName}">
      <f:validateBean disabled="#{param[skipBeanValidation]}"/>
    </h:inputText>

<h:dataTable> 
 <h:column>
    [<h:commandLink value="Edit" immediate="true">
      <f:ajax execute="@form" render="@form" listener="#{empBean.edit}"/>
     </h:commandLink>  ]
     Changed to 
     <h:commandLink value="Edit" action="#{empBean.edit}">
       <f:param name="skipValidation" value="true"/>
     </h:comamndLink>
  </h:column>     
 </h:dataTable>

<h:commandLink value="#{empBean.addEmployee}"/>
<h:commandLink value="#{empBean.continue}"/>
</h:form>

【问题讨论】:

    标签: jsf-2 datatable


    【解决方案1】:

    这不是 HTML 表单的工作方式。单个 HTML 表单应围绕 所有 输入元素和按钮,它们都参与 same 表单。

    将相关的表单元素放在同一个表单中。如果您遇到问题,则必须以不同的方式解决。例如,通过在 ajax 中使用部分提交。

    【讨论】:

    • 我已更新代码以仅使用一种形式。编辑功能未按要求工作。
    • 删除immediate="true"execute="@form"。如果那不能解决您的具体问题,那么您必须说的不仅仅是“不工作”。无论如何,您可能会发现这个 CRUD 示例很有帮助:stackoverflow.com/a/3180885
    • 这正是您应该删除execute="@form"的原因。然后默认为@this
    • 移除 immediate="true" & execute="@form" 监听器未被调用。
    • 和他们一起,它调用了吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-10-06
    • 1970-01-01
    • 2021-08-06
    • 2023-04-01
    • 1970-01-01
    • 2011-03-09
    相关资源
    最近更新 更多