我把主要的几行代码写上来<%@ taglib uri="/WEB-INF/c.tld" prefix="c" %>上面的c.tld标签已经添加到相应路径里,stantard.jar和jstl.jar包也放在了项目的lib目录下。User[] user=new User[5];
Collection con=new ArrayList();
for(int i=0;i<=4;i++){
user[i]=new User();
user[i].setName("name"+i);
user[i].setPassword("password"+i);
con.add(user[i]);
}
session.setAttribute("con", con);
<c:forEach items="${con}" var="user1">
<br><tr><td>姓名: <c:out value="${user1.name}"/></td></tr>
<br><tr><td>密码: <c:out value="${user1.password}"/></td></tr>
</c:forEach>我用logic:iterate 标签测试,就可以正常的输出5个数据。
但是用jstl的标签就会出现下面的显示效果:姓名: ${user1.name}
密码: ${user1.password}
感觉似乎没被解析。请问这是怎么回事啊? 谢了先
Collection con=new ArrayList();
for(int i=0;i<=4;i++){
user[i]=new User();
user[i].setName("name"+i);
user[i].setPassword("password"+i);
con.add(user[i]);
}
session.setAttribute("con", con);
<c:forEach items="${con}" var="user1">
<br><tr><td>姓名: <c:out value="${user1.name}"/></td></tr>
<br><tr><td>密码: <c:out value="${user1.password}"/></td></tr>
</c:forEach>我用logic:iterate 标签测试,就可以正常的输出5个数据。
但是用jstl的标签就会出现下面的显示效果:姓名: ${user1.name}
密码: ${user1.password}
感觉似乎没被解析。请问这是怎么回事啊? 谢了先
<br> <tr> <td>姓名: ${user1.name}</td> </tr>
<br> <tr> <td>密码: ${user1.password}</td> </tr>
就可以了把。
EL 表达试本身就有输出的效果。 <c:out> 本身也是输出的效果。 两个输出 后面一个 就被当成字符传处理了。
要在<%@ page isELIgnored="false">
这样就可以
你应该是user[1].name吧?
是你写错了吧?还有,楼上的菜鸟们,用c:out的好处是,c:out默认不会执行脚本和写解析任何标记
除非你把 escape属性设置成true。这样可以一定程度防止脚本注入攻击,菜鸟们,清楚了没有?》
看漏了foreach标记,sorry,我道歉~
不用${}就好了