jsp中el表達式調用java的參數


今天在jsp頁面中使用了EL表達式,同時EL表達式在for循環中,但是EL表達式無法與java代碼同時使用,所以記錄一下如何把java中的變量傳遞過去。

示例:

<%
    for(int i=0;i<list.size();i++){
%>
    <tr>
        <td>${list[i].key1}</td>
        <td>${list[i].key2}</td>
        <td>${list[i].key3}</td>
    </tr>
<%
     }   
%>

 

由於需要把list中的循環遍歷輸出,如上寫法在el表達式中雖然語法沒有發生錯誤,但是實際輸出均為空。解決方法就是,在for循環中,把每一個 i 通過 pageContext.setAttribute() 方法,傳遞到頁面中去。僅需添加一行即可,修改之后的代碼如下:

<%
    for(int i=0;i<list.size();i++){
    pageContext.setAttribute("i",i); //通過pageContext.setAttribute()方法將 i 傳入視圖中,即可被el表達式使用
%>
    <tr>
        <td>${list[i].key1}</td>
        <td>${list[i].key2}</td>
        <td>${list[i].key3}</td>
    </tr>
<%
     }   
%>

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM