我的 java 类中有静态变量 CONSTANT_1、CONSTANT_2...
与我的 javascript 函数共享这些常量的最佳方法是什么,或者是否有一个 JQuery 插件。
到目前为止,我能想到的唯一解决方案是在开始时调用 ajax,将这些静态变量发送到客户端。
谢谢
我的 java 类中有静态变量 CONSTANT_1、CONSTANT_2...
与我的 javascript 函数共享这些常量的最佳方法是什么,或者是否有一个 JQuery 插件。
到目前为止,我能想到的唯一解决方案是在开始时调用 ajax,将这些静态变量发送到客户端。
谢谢
我不知道这是否是最好的方法,但它确实有效。
var constant1=<%=class.CONSTANT_1%>;
您可以在隐藏字段中设置此静态变量,然后您可以使用此隐藏字段通过 javascript 访问它
<input type="hidden" value="<your static variable>" id="staticVariable" />
<script type="text/javascript">
function getStaticField(){
return document.getElementById("staticVariable").value;
}
</script>
我以前遇到过这个问题。我所做的只是我声明hidden
了我可以在服务器端访问的输入字段,并用我想要的任何东西设置它的值。
<input type="hidden" runat="server" id="hiddenInput" />
然后使用编程语言(我使用 c#):
hiddenInput.Value = ValueOnServerSide;
然后使用 jQuery 我在客户端获取此输入的值。
$("[id$='hiddenInput']").val();
有一种技术叫做'DWR' (directwebremoting)
。
通过使用它,我们可以直接在 Javascript 中访问 Java 类。
试试这个,它可能对你有帮助。
参考链接:
http://directwebremoting.org/dwr/introduction/getting-started.html
http://directwebremoting.org/dwr/introduction/scripting-dwr.html
如果您不想继续重新加载页面,可以使用 AJAX 调用来获取常量的值。如果您对仅在刷新时更新的值感到满意,您可以按照 Sainath 所说的去做,这样您就不会进行不必要的 AJAX 调用:
var constant1=<%=class.CONSTANT_1%>;