JSF:执行多个表单的值

Tho*_*isé 5 ajax jsf jsf-2

我想从多个表单提交(执行)值,而不仅仅是封闭表单.所以,我希望能够做到这样的事情:

<h:form id="form1>
    <h:inputText id="testinput1" value="#{testBean.input1}" />
</h:form>

<h:form id="form2>
    <h:inputText id="testinput2" value="#{testBean.input2}" />

    <h:commandButton value="Submit">
        <f:ajax execute=":form1 :form2"/>
    </h:commandButton>
</h:form>
Run Code Online (Sandbox Code Playgroud)

你怎么解决这个问题?

什么是<f:ajax execute ="@ all">真的应该做什么?它POST只有封闭的表格 似乎是相关的,但解决了一个稍微不同的问题,也没有解决它(或这个).

Bal*_*usC 5

无论是否使用 Ajax,这对于普通的 JSF/HTML 来说都是不可能的。需要处理的所有输入元素确实需要进入同一表单。

  • @Matt:规范从未规定“@all”将执行所有表单。从技术上讲,这也是不可能的(尽管 JS 很容易通过合并表单值来解决这个问题,但在 JSF 中,视图状态和操作依赖于表单)。在我看来,“@all”永远不应该是“execute”的可用值之一。它没有增加任何价值,只会令人困惑。 (2认同)