使用JSTL改写JSP页面.

luhongjun 2010-10-18 08:27:39
下面的JSP,怎样用JSTL改写.

<%
Vector list = (Vector) session.getAttribute("foldvector");
if(null == list) {
return;
}
for (int i = 0; i < list.size(); i++) {
Fold fold = (Fold) list.get(i);
String Mlmc=fold.getMlmc();
String index=String.valueOf(i);
%>

<a href="subMenu.jsp?Mldh=<%=index%>" target="left" ><span><%=Mlmc%></span></a>

<%
}
%>


主要是 Fold fold = (Fold) list.get(i); 增样用jstl表示.

...全文
140 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
blazingfire 2010-10-18
  • 打赏
  • 举报
回复
搞错了,用这个

<c:forEach items="${sessionScope.foldvector}" var="fold" varStatus="sList">

<a href="subMenu.jsp?Mldh=${sList.index}" target="left" >
<span>${fold.mlmc}</span></a>

</c:forEach>
blazingfire 2010-10-18
  • 打赏
  • 举报
回复
要用javabean属性,也就是o.getAbc() getter方法在el中就写成{o.abc}
<c:forEach items="${sessionScope.foldvector}" var="fold" varStatus="sList">

<a href="subMenu.jsp?Mldh=${sList.index}" target="left" >
<span>${list.mlmc}</span></a>

</c:forEach>

luhongjun 2010-10-18
  • 打赏
  • 举报
回复
<c:forEach items="${sessionScope.foldvector}" var="list" varStatus="sList">
<a href="subMenu.jsp?Mldh=${sList.index}" target="left" ><span>${list.mlmc}</span></a>
</c:forEach>

直接引用是出错的:(如果把${list.mlmc}换成字符可以正常运行)转化还是不对
Servlet.service() for servlet jsp threw exception
javax.el.ELException: Cannot convert [com.sinew.javabean.Fold@917cb0, com.sinew.javabean.Fold@1913751, com.sinew.javabean.Fold@c6b80e, com.sinew.javabean.Fold@5dc268, com.sinew.javabean.Fold@1866417, com.sinew.javabean.Fold@1526e3, com.sinew.javabean.Fold@ac2d3c] of type class java.util.Vector to class java.lang.Integer
at org.apache.el.lang.ELSupport.coerceToNumber(ELSupport.java:290)
at org.apache.el.lang.ELSupport.coerceToType(ELSupport.java:410)
at org.apache.el.ValueExpressionImpl.getValue(ValueExpressionImpl.java:188)
at org.apache.jasper.runtime.PageContextImpl.proprietaryEvaluate(PageContextImpl.java:935)
at org.apache.jsp.mainMenu_jsp._jspx_meth_c_005fforEach_005f0(mainMenu_jsp.java:183)
at org.apache.jsp.mainMenu_jsp._jspService(mainMenu_jsp.java:148)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:377)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:857)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
at java.lang.Thread.run(Unknown Source)
sound9world 2010-10-18
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 luhongjun 的回复:]

<c:forEach items="${sessionScope.foldvector}" var="list" varStatus="sList">

<a href="subMenu.jsp?Mldh=${sList.getIndex()}" target="left" ><span>${list.getMlmc()}</span></a>

</c:forEach>
……
[/Quote]
试试看不调用getter,直接${fold.mlmc} ,或许可行。
sound9world 2010-10-18
  • 打赏
  • 举报
回复

<c:forEach var="fold" items="${list}"></c:forEach>

可以试试这样,fold应该就是Fold fold = (Fold) list.get(i);
下面再使用就EL表达式如${fold.mlmc}这样

没有测试 希望能有所帮助
luhongjun 2010-10-18
  • 打赏
  • 举报
回复
<c:forEach items="${sessionScope.foldvector}" var="list" varStatus="sList">

<a href="subMenu.jsp?Mldh=${sList.getIndex()}" target="left" ><span>${list.getMlmc()}</span></a>

</c:forEach>

list没有使用Fold fold = (Fold) list.get(i); 直接使用list.getMlmc()是有问题的.
序言 1. 想用jsp做网站的朋友看过来 2. 预备知识 3. java环境配置 3.1. 安装jdk 3.2. 配置tomcat服务器 1. 开始编写jsp 1.1. 开篇第一个jsp 1.2. B/S结构,请求与响应 2. 让jsp说hello 2.1. 另一个简单jsp 2.2. 中文乱码 2.2.1. 先解决响应中的乱码 2.2.2. POST乱码 2.2.3. GET乱码 3. 请求的跳转与转发 3.1. 范例 3.2. 如果用forward 3.3. 如果用redirect 3.4. forward和redirect的问题 3.4.1. 绝对路径与相对路径 3.4.1.1. 相对路径 3.4.1.2. 绝对路径 3.4.2. forward导致找不到图片 4. 四个作用域 4.1. 何为作用域 4.2. 例子:在线列表 5. 结合javabean实现CRUD 5.1. 概念和命名方式 5.2. Read(读取) 5.3. Create(创建) 5.4. Update(更新) 5.5. Delete(删除) 5.6. 用jdbc操作数据库 6. 贴近servlet 6.1. servlet是什么 6.2. jsp与servlet的关系 6.3. 使用servlet改写联系簿 7. 使用filter过滤请求 7.1. 批量设置请求编码 7.2. 用filter控制用户访问权限 7.3. filter所谓的特性 7.3.1. 请求映射 7.3.2. 过滤链 7.4. filter的详细配置 8. 配置listener监听器 8.1. 使用HttpSessionListener 8.2. 使用HttpSessionBindingListener 9. 封装taglib组件 9.1. 用taglib实现循环 9.2. 关于jstl 10. 综合电子留言板 10.1. 电子留言板用户指南 10.2. 数据库设计 10.3. 功能设计 10.3.1. 用户管理 10.3.2. 主题回复管理 10.3.3. 显示在线用户列表 10.4. 总结 11. 文件上传 11.1. 远程网盘 11.2. 浏览器部分的设置 12. 导出文件 12.1. 图片校验码 12.2. 图片校验码 - jsp版 13. 剖析el表达式 13.1. 再谈el(Expression Language) 13.2. 作用域 13.3. 运算符 14. 生命周期 14.1. 生命周期 14.2. 线程模型 14.3. 在jsp中定义类变量 14.4. jsp九大默认对象 15. 分页 15.1. 数据库分页 15.2. 使用jstl改写分页 16. Never End... 16.1. 对session何时生成的无用讨论 16.2. 对手工将jsp转换为servlet的无用讨论 16.3. 胡乱解释一下session 16.4. 下载文件乱码

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧