如何在RichFaces中提交表单?

问题描述 投票:0回答:2

我知道这听起来可能是一个基本问题,但我很难搞清楚这一点。首先,我有这样的形式:

<h:form>
   <h:inputText value="#{movies.name}"/>
   <a4j:commandButton id="mybutton" value="Modify" immediate="true" action="#{movies.testModify}"/>
</h:form>

我想从movie bean的testModify()方法中捕获输入文本中的值。我的问题是testModify根本没有被调用。我注意到的奇怪行为是,当我删除h:form标签时,方法会被调用,但我仍然不知道如何从输入文本中获取值。

从我读过的,a4j:commandButton需要h:form才能正常工作。

任何帮助将非常感谢!

forms richfaces ajax4jsf
2个回答
0
投票

使用h:commandButton而不是a4j:commandButton。第一个是提交表单的标准JSF按钮,后者执行ajax请求。


0
投票

首先,正如Markos Fragkakis所述,使用基本的<h:commandButton>而不是ajaxified <a4j:commandButton>,就像你的情况一样,你没有兴趣在这里使用Ajax动作。

其次,删除此按钮上的immediate="true"属性。使用此属性means that,应立即执行默认的ActionListener(即在请求处理生命周期的Apply Request Values阶段),而不是等到Invoke Application阶段。

如果你仍然没有调用你对Java bean的操作,那么在qazxsw poi JSF Invoke Application qazxsw poi之前可能出现了错误。添加lifecycle将显示可能的问题:

phase
© www.soinside.com 2019 - 2024. All rights reserved.