【问题标题】:How can I get the session values from an external.js by using Struts2 jQuery如何使用 Struts2 jQuery 从 external.js 获取会话值
【发布时间】:2014-07-29 20:49:58
【问题描述】:

我需要从我的外部 JS 中的会话中恢复一个值。之前,我是在嵌入在 JSP 中的脚本中使用这行代码完成的,并且它工作正常:

$(window).load(function(){
    var selectedServer = "<s:property value='%{#session.selectedServer}'/>";
    var selectedMarket = "<s:property value='%{#session.selectedMarket}'/>";
});

但是现在,我想通过外部 JS 和 alert(selectedServer); 在这些行之后执行此操作,显示文字:&lt;s:property value='%{#session.selectedServer}'/&gt;,但不显示值。

external.js 中的语法是否不同?

【问题讨论】:

  • 不!你可以在外部 js 中有一个会话值,你可以在你已经加载所有文件的 jsp 页面上拥有它,并像你当前所做的那样传递它。
  • 感谢@Jai 的回复,您是认真的吗?
  • 是的!这就是我看到人们传递会话变量值的方式。
  • 如您所知,jsp java 在服务器端运行,而 javascript 是一种客户端语言,它在浏览器中运行,因此会话变量已在服务器端设置,这就是为什么您在 js 文件中没有这些值的原因,因为那时,jsp 还没有加载到浏览器中。
  • @Jai 很好的解释,吸取了教训!

标签: java jquery jsp session struts2


【解决方案1】:

您可以在外部脚本中使用 javascript 全局变量,或者使用函数参数将您应该在 JSP 中获取的值传递给外部函数。

<script>
    var selectedServer = "<s:property value='%{#session.selectedServer}'/>";
    var selectedMarket = "<s:property value='%{#session.selectedMarket}'/>";
</script>
function(selectedServer, selectedMarket){
}   

【讨论】:

    猜你喜欢
    • 2015-01-23
    • 2011-06-19
    • 2013-07-16
    • 2012-11-14
    • 2023-03-07
    • 1970-01-01
    • 2014-07-15
    • 2019-07-23
    • 2010-10-25
    相关资源
    最近更新 更多