a4j:jsfunction vs直接从javascript调用方法

时间:2015-08-14 13:02:16

标签: javascript richfaces jsf-1.2

我是RichFaces的新手。我需要从javascript调用backingbean方法。我使用a4j:jsfuction这样做,但我被建议不要使用这个组件来提高性能并直接在javascript中调用支持bean方法

在javascript中:

somemethod('somevalue')

在xhtml中:

function somemethod(value){
 #{backingbean.test(value)}
}

您能否告诉我哪种方法更好?为什么?

提前致谢。

1 个答案:

答案 0 :(得分:0)

a4j:jsFunction更好,因为“纯JavaScript”解决方案无法按照您的方式运行:

var chartSource;

var dataSource = new DevExpress.data.DataSource(baseAddress + "hours/login/customer/" + window.loggedInUser.Id + "/" + params.id.Id, function (json) {
    chartSource = new DevExpress.data.DataSource({
        load: function () {
            console.log("CHARTSOURCE LOAD FUNCION");
            var resultArray = [];
            var chartArray = {};
            for (var i = 0; i < json.length; i++) {

                if (chartArray.hasOwnProperty(json[i].Date)) {
                    chartArray[json[i].Date] += json[i].Hours;
                } else {
                    chartArray[json[i].Date] = json[i].Hours;
                }
            }
            for (var key in chartArray) {
                resultArray.push({
                    Date: key,
                    Hours: chartArray[key]
                });
            }
            console.log("RETURN RESULT ARRAY");
            return resultArray;
        }
    });
});

这样的EL表达式将在呈现页面时执行,传递参数也不起作用。如果它有效,你真的尝试过吗?