我不确定这是否可行,但是你能否将字符串的值从Java文件(Struts action)传递给jQuery(在custom.js中,而不是在JSP中)?操作文件生成JSON数据,我希望将数据传递给jQuery。
答案 0 :(得分:3)
如果您的代码是这样的:
<script>
var msg= <%=msg%>;
</script>
<script src="files/js.js"></script>
你可以这样做:
var msg= '<%= msg %>';
然后,您可以根据需要将msg
变量分配到JQuery
,例如:
$(msg);
请注意,您可能需要事先使用StringEscapeUtils.escapeJavaScript
函数来清理字符串。
如果要将此字符串传递给JS单独的文件,则可以以优雅高效的方式执行此操作。
在你的file.js中:
var MYLIBRARY = MYLIBRARY || (function(){
var _args = {}; // private
return {
init : function(Args) {
_args = Args;
// some other initialising
},
helloWorld : function() {
alert('Hello World! -' + _args[0]);
}
};
}());
在您的JSP页面中:
<script type="text/javascript" src="file.js"></script>
<script type="text/javascript">
MYLIBRARY.init(["msg", 1, "othervalue..."]);
MYLIBRARY.helloWorld();
</script>
答案 1 :(得分:0)
你的意思是&#34;要传递给jquery的数据&#34;?
你应该关注的关键词是:客户端和服务器。
服务器生成数据,服务器使用它
怎么样?你用你喜欢的框架/库(在你的情况下是struts)构建一个web-api rest方法,然后通过$ .ajax方法使用它。