8

我的 java 类中有静态变量 CONSTANT_1、CONSTANT_2...
与我的 javascript 函数共享这些常量的最佳方法是什么,或者是否有一个 JQuery 插件。

到目前为止,我能想到的唯一解决方案是在开始时调用 ajax,将这些静态变量发送到客户端。

谢谢

4

5 回答 5

3

我不知道这是否是最好的方法,但它确实有效。

var constant1=<%=class.CONSTANT_1%>;
于 2013-02-26T12:17:18.960 回答
1

您可以在隐藏字段中设置此静态变量,然后您可以使用此隐藏字段通过 javascript 访问它

<input type="hidden" value="<your static variable>" id="staticVariable" />
<script type="text/javascript">
    function getStaticField(){
        return document.getElementById("staticVariable").value;
    }
</script>
于 2013-02-26T12:21:39.183 回答
0

我以前遇到过这个问题。我所做的只是我声明hidden了我可以在服务器端访问的输入字段,并用我想要的任何东西设置它的值。

<input type="hidden" runat="server" id="hiddenInput" />

然后使用编程语言(我使用 c#):

hiddenInput.Value = ValueOnServerSide;

然后使用 jQuery 我在客户端获取此输入的值。

$("[id$='hiddenInput']").val();
于 2013-02-26T12:21:20.050 回答
0

有一种技术叫做'DWR' (directwebremoting)

通过使用它,我们可以直接在 Javascript 中访问 Java 类。

试试这个,它可能对你有帮助。

参考链接:

http://directwebremoting.org/dwr/introduction/getting-started.html

http://directwebremoting.org/dwr/introduction/scripting-dwr.html

于 2013-02-26T12:42:59.853 回答
0

如果您不想继续重新加载页面,可以使用 AJAX 调用来获取常量的值。如果您对仅在刷新时更新的值感到满意,您可以按照 Sainath 所说的去做,这样您就不会进行不必要的 AJAX 调用:

var constant1=<%=class.CONSTANT_1%>;
于 2013-03-06T10:01:14.213 回答