如何访问实体的getter和setter?

时间:2014-03-06 13:07:45

标签: javascript jsp

所以我有这个jsp,我在javascript中创建了一个接受ArrayList<Product>作为参数的函数。我想知道我是否可以在我的脚本标签中访问我的实体的getter和setter。可能吗?我有这个代码:

        function compute(products) {
            var productid1 = document.getElementById("product1").value;
            var productquantity1= document.getElementById("productquantity1").value;
            var price = 0;
            var isDone = false;
            for(var i = 0; i < products.size() && isDone === false; i++) {
                if(products.get(i).getProductID === productid1) {
                    price = products.get(i).getProductPrice() * productquantity1;
                    isDone = true;
                }
            }
            document.getElementById("totalPrice").value = parseInt(price);
        }

我在身体<table>内有这个

            <tr>
                <td>
                    Total Price: <input type="text" id="totalPrice">
                </td>
            </tr>

1 个答案:

答案 0 :(得分:1)

Javascript通常在客户端运行。它作为纯文本到达那里,就像HTML一样。服务器和客户端的对象和类之间没有关系。因此这一行:

price = products.get(i).getProductPrice() * productquantity1;

不会也不会起作用。

要使其正常工作,您必须序列化在服务器端创建的列表的内容,并以某种方式将其传输到客户端。有一些框架可以帮助您做到这一点。基本上你必须创建与服务器端的类相对应的javascript对象并填充它们。通常,执行此操作的框架通过AJAX异步工作。

ExtDirect上查看示例。我不确定它对你有好处,因为它是一个Spring扩展,所以它需要服务器端的Spring框架。然而,它可以是一个很好的起点,你可以搜索其他类似的解决方案,这将有利于你。