jsp中el表达式调用java的参数

今天在jsp页面中使用了EL表达式,同时EL表达式在for循环中,但是EL表达式无法与java代码同时使用,所以记录一下如何把java中的变量传递过去。

示例:

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

 

由于需要把list中的循环遍历输出,如上写法在el表达式中虽然语法没有发生错误,但是实际输出均为空。解决方法就是,在for循环中,把每一个 i 通过 pageContext.setAttribute() 方法,传递到页面中去。仅需添加一行即可,修改之后的代码如下:

<%
    for(int i=0;i){
    pageContext.setAttribute("i",i); //通过pageContext.setAttribute()方法将 i 传入视图中,即可被el表达式使用
%>
    
        ${list[i].key1}
        ${list[i].key2}
        ${list[i].key3}
    
<%
     }   
%>

 

你可能感兴趣的:(jsp中el表达式调用java的参数)