【问题标题】:What is the best way to use context-param in JavaScript在 JavaScript 中使用 context-param 的最佳方法是什么
【发布时间】:2011-02-18 12:29:01
【问题描述】:

在我的 web.xml 中,我设置了上下文参数“pathToImages”。在我的 jsp 文件中,我使用 EL 获取图像文件的路径,如下所示:

<img src="${initParam.pathToImages}"/image.jpg" />

但是我的 JavaScript 有问题。在我的 js 文件中,我有代码:

setInnerHTML("somePlace", "<.img src="images/s.gif">");

我知道这不是漂亮的代码,但它不是我的 :) 我无法像从 jsp 一样获取我的 pathToImages。最好的方法是什么?

【问题讨论】:

    标签: java javascript jsp servlets


    【解决方案1】:

    将其作为参数传递给 js 函数:function createImage(path) {..} 并使用 createImage('${initParam.pathToImages}') 调用它

    另一个,也许更好的选择是拥有一个 js 变量并使用所需的值对其进行初始化。 JS文件中:

    var imagePath;
    
    function init(config) {
        imagePath = config.imagePath;
    }
    

    在你的标题中:

    init({imagePath: '${initparam.pathToImages}'});
    

    【讨论】:

    • 感谢您的想法,但我有很多带有此类代码的功能,所以这将是一个很大的重构。其次,有些函数现在有很多参数,添加下一个参数会很丑
    • @smas - 好的,看看我的下一个建议
    【解决方案2】:

    如果您使用模板来构建您的页面(即磁贴或速度模板),您可以使用 scriptlet 分配基本模板中的变量,例如:

    <script> var imagePath = '<%= config.getServletContext().getInitParameter("pathToImages") %>'; </script>
    

    然后你可以在你的js文件中引用imagePath变量。

    不漂亮,但我不相信有一种方法可以直接从 javascript 文件访问 servlet 上下文。

    【讨论】:

      猜你喜欢
      • 2013-08-20
      • 2016-01-08
      • 1970-01-01
      • 1970-01-01
      • 2015-12-31
      • 1970-01-01
      • 1970-01-01
      • 2015-09-14
      • 2014-07-18
      相关资源
      最近更新 更多