java
  • javascript
  • jsp
  • servlets
  • 2011-02-18 39 views 0 likes 
    0

    在我的web.xml中,我設置了上下文參數「pathToImages」。在我的jsp文件中獲取我的圖像文件的路徑,我使用EL,如下所示:在JavaScript中使用上下文參數的最佳方式

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

    但是我有JavaScript問題。在我的js文件中,我有代碼:

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

    我知道這不是美麗的代碼,但它不是我的:)我不能像jsp一樣獲取我的pathToImages。做這個的最好方式是什麼?

    回答

    2

    將它作爲參數傳遞給js函數:function createImage(path) {..}並用createImage('${initParam.pathToImages}')

    另一個調用它,也許是更好的選擇是有一個js變量,並與所需的值進行初始化。在JS文件:

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

    ,並在你的頭:

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

    感謝您的想法,但我有這樣的代碼很多功能,所以這將是大重構。其次一些功能目前有很多爭論,下一個參數將會變得醜陋 – smas 2011-02-18 12:35:36

    0

    如果你使用模板來建立自己的網頁(即瓦或速度模板),你可以在你的基地模板中的變量分配與一個腳本,如:

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

    然後,您可以引用您的js文件中的imagePath變量。

    不是很漂亮,但我不相信有一種方法可以直接從javascript文件訪問servlet上下文。

    相關問題