JSF按钮AJAX调用
问题描述:
后不工作我有这样的JSF按钮,当它按下它调用Java方法:JSF按钮AJAX调用
<h:commandButton id="editdata" value="HiddenDelete" style="position:absolute; bottom:25px; right:650px;" actionListener="#{bean.saveData}" rendered="#{bean.editable}">
<f:ajax render="@form" execute="@form"></f:ajax>
</h:commandButton>
public void saveData() throws SQLException
{
.....
}
当我做一个AJAX调用按钮不能正常工作。你能帮我找出为什么在AJAX调用之后不调用Java方法吗?
答
你不及格事件:
public void saveData(AjaxBehaviorEvent event) { ... }
而且,你能指望什么用Exception
你扔的情况发生?你不应该抓住它吗?
try {
// logic
}
catch(SQLException ex) {
FacesContext facesContext = FacesContext.getCurrentInstance();
FacesMessage facesMessage = new FacesMessage(
"There was an error, ....");
facesContext.addMessage(null, facesMessage);
}
这将以HTML格式打印<h:messages />
。
+0
我更新了代码,但没有更改。 – 2013-05-13 10:44:04
+0
那么,如果你实现了我的例子中给出的代码,那么问题可能是其他地方引起的。您是否使用'
'标签而不是' '?普通的HTML标签不包含'javax.faces.jsf.js',这是一个必要的库,可以让你使用ajax。 – Aquillo 2013-05-13 11:11:10+0
这是完整的源代码:http://pastebin.com/LQ5VSnXE – 2013-05-13 11:40:14
请从http://*.com/a/2120183排除原因或发布SSCCE。目前的代码不在SSCCE风格。复制代码并手动添加从问题中省略的最小必需代码,以使其按规范/文档工作(例如,添加缺少的“ActionEvent”参数,该参数应该引发异常),但它工作正常对我来说(也可能是其他人)。要了解如何创建合适的SSCCE,请仔细阅读http://*.com/tags/jsf/info没有SSCCE,您的问题基本上是无法回答的。 – BalusC 2013-05-15 16:16:41
如果你从开发人员的角度而不是从最终用户的角度来阐述问题,那么你会为我们自己和我们一个忙。你只是说“不起作用”,就好像你是最终用户一样。这个不对。你应该告诉整个过程失败的具体步骤。触发DOM点击事件?准备ajax请求?发送ajax请求? JSF解码ajax请求?识别点击的按钮?排队行动事件?调用动作事件?等等 – BalusC 2013-05-15 16:23:19
彼得,你有没有尝试过将事件传递给你的方法(正如我的回答中所建议的,也是由BalusC提及的)?如果是这样,你能分享你的更新代码和结果案例吗? '工作不正常'是不够的。同时分享bean的注释和'saveData'和'editable'的实现。 – Aquillo 2013-05-16 10:06:08