用javascript指令碼–動態指定img對象的src路徑—jsp-javascript-j2ee–hibernate–struts-2.0

來源:互聯網
上載者:User

javascript,img,src,jsp,j2ee,hibernate,struts-2.0

環境: eclipse, struts2,hibernate3.0

jsp,j2ee,javascript   [撰寫: drs163@163.com   www.newsoftstudio.com ]

後台服務端struts2的action已經能將一個列表集合返回到jsp頁面. 其中有一個項目是 檔案路徑的字串. 我們需要在實際jsp頁面顯示出來的時候,每行記錄前帶一個 根據檔案類型尾碼判斷得出的小表徵圖.

假設現在已經將 類似 gif.gif ,rar.gif,doc.gif的類型表徵圖儲存到了 images/myfiletype目錄.

jsp頁面是 Mylist.jsp,那麼我們寫 兩個指令碼函數 和一段指令碼代碼即可實現這個功能(當然,通過伺服器段判斷處理也能達到)

第一個指令碼函數: 返回指定url的關於類型的部分字串

function ShowFileTypeImg(strUrl)
{

  // by drs -2007-6-2 根據指定 url 獲得其尾碼 類型
  var pos = strUrl.lastIndexOf(".");
  if (pos<=0)
   {
    return "unknow.gif";
   }
   var lastname = strUrl.substring(pos+1,strUrl.length);  //檔案尾碼名
   return lastname+".gif";
 
}

第二個指令碼函數:

          // 指定 動態img對象的 src
          // img 的 id名稱 根據 當前列表的資源id保證其唯一和不同
          // 在頁面中的img對象後面立即撰寫 <script>getimg(img對象id,url)</>可以完成此功能
          // 從而可以動態指定其 src路徑
          // 調用 ShowFileTypeImg(urlfilename) 函數
          function getimg(imgid,urlfilename){
            var   oImg   =   document.getElementById(imgid); //根據id獲得 img對象
          var   appPath ;
          appPath ="<%=PageContent.getAppPath()%>" ;
                                  
          var mysrc ;
          mysrc =appPath + "/images/myfiletype/"+ ShowFileTypeImg(urlfilename); 

          oImg.src    = mysrc; //設定其src
                                  
          }  

 

一段javascript代碼放到img對象的後頭(緊跟其後,可以不用其 onload事件)

說明: onerror事件指定了當有未知的類型,也就是filetype目錄中沒有該類型對應表徵圖時,一律顯示為指定的表徵圖. 

====id="myfileimg<s:property value="FId"/> ==表示動態產生的img 對象id  <s:..>是struts2.0的屬性標籤,這裡它屬於iterator,並返回id值,從而達到img 的id是唯一的

然後將這個img的id名稱以字串形式傳遞給getimg ,將檔案路徑傳遞也傳遞給getimg()

==========DAIMA ========================

......

...<s:iterator value="MyListitems" status="curRecord">

...

<img  onerror="this.src='<%=PageContent.getAppPath()%>/images/myfiletype/unknow.gif';" border="0" src="a" id="myfileimg<s:property value="RId"/>"  >
        <script type="text/javascript">
          getimg("myfileimg<s:property value="FId"/>","<s:property value="FFileNameUrl"/>")
        </script>

......

...... </s:iterator>

......

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.