java - 如何使用RichFaces a4j :commandButton not using submit

标签 java jsf richfaces

我有一个 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/

相关文章:

java - 从 Samsung Galaxy S2 上的 android ndk 函数返回时崩溃

jsf - RequestScoped bean 在确认对话框中被销毁

java - 具有富客户端框架的 Spring MVC

javascript - RichFaces/Ajax4JSF : How to turn off JavaScript obfuscation?

java - 在java中将PDF读取为文件并使 "PDF"可编辑

java - 在java中实例化接口(interface)

java - 适合新手的 Jaxb 编码

jsf - 如何向 JSF session 初始化事件添加监听器?

css - PrimeFaces 菜单栏滚动 block 子菜单

java - FileServlet + 调用bean函数