我有一个 a4j:commandButton
,看起来像这样
<a4j:commandButton id="stopBtn" type="button" reRender="lastOp"
action="#{MyBacking.stop}" value="Stop" />
</a4j:commandButton>
部署应用程序并单击按钮时,不会调用 stop() 方法。所有 a4j:commandButton
示例都引用表单,但此按钮不在表单中 - 它是用户将用来使服务器运行某些后端逻辑的按钮。目前的方法是
public void stopNode() {
logger.info("STOPPING");
setLastOp("Stopped.");
}
不使用此类按钮的其他方法正在更新lastOp 字段,但我在控制台上没有看到此按钮的任何内容。我把它作为一个按钮正确吗?我应该将其放在 h:form
标记中吗?
Firebug 控制台显示:
this._form is null
我不明白。
非常感谢任何帮助。
最佳答案
UICommand
组件应放置在 UIForm
内成分。所以,你的猜测
Should I put this in a
h:form
tag?
完全正确:)这是因为他们发射了 POST
请求,唯一(正常)的方法是使用 HTML <form>
元素 method
属性设置为 "post"
。 Firebug 还表示需要一个父表单元素,但它解析为 null
因此无法采取任何行动。
只有“普通”链接,如 h:outputLink
配偶不需要表格,因为他们只是触发 GET
请求。
关于java - 如何使用RichFaces a4j :commandButton not using submit,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2358292/