javascript - 使用 JSF 2.0 Ajax 响应访问 bean 函数的返回值?

标签 javascript ajax jsf-2

我正在使用 JSF 2.0 构建一个日程安排应用程序,用户可以在其中向日历添加项目,然后编辑这些对象。

我广泛使用 AJAX 来防止页面刷新。

我遇到的问题是从使用 AJAX 调用的函数中获取返回值。

<!-- ... form to fill -->
<h:commandButton value="Insert">
   <f:ajax execute="formField1 formField2..." 
    listener="#{myBean.insert()}" onevent="processSave"/>
</h:commandButton>

这成功调用了我的 JavaScript 函数 processSave()

myBean.insert() 返回数据库中新插入行的id

public String insert() {
    //... inserting data into database
    id = {id from database is obtained here}
    System.out.println("I have the ID here : " id);  //this works
    return id;
}

我一直在尝试从 processSave() 函数中 JavaScript 的响应对象获取此信息。

processSave(data) {
    if(data.status == "begin") {
        // ation done here
    } else if(data.status == "complete") {
        // more actions done here
    } else if(data.status == "success") {
        //I am trying to get the ID here
        //I've tried looking into data.responseXML, but to no avail.
    }
}

使用当前技术我正在尝试的事情可行吗?

我认为可以使用 AJAX 调用的 render 组件更新页面中的字段,然后使用 Javascript 获取值。但我认为这不会那么干净?

谢谢!

最佳答案

这是可能的。使用primefaces更容易完成。

关注this例如,您可能会在那里找到有用的东西。

关于javascript - 使用 JSF 2.0 Ajax 响应访问 bean 函数的返回值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5586799/

相关文章:

javascript - setinterval 在clearinterval 之后不起作用

php - 将 xml 文件更新从服务器推送到所有客户端浏览器?

javascript - AJAX 调用中的变量范围

jsf - Primefaces 扩展警告

java - 对 JSF 下拉值的操作

没有 javascript 的 ASP.NET 网络表单

javascript - 搜索并放大散点图点(Highcharts、react.js)

java - 使用来自多个 selectOneMenus 和按钮的内容填充 inputTextArea

javascript - 根据按下的按钮更改要调用的函数

javascript - 通过 Ajax 在不同的下拉列表中上传数据