好久不接触页面了,有一个项目要开发一个简单的页面,后台使用SpringMVC+MyBatis,前台展示层的动态数据就用JSTL吧。
引入JSTL的时候,遇到了一个很怪异的问题,JSP页面中有一段代码,便利request中的一个集合,在页面上显示一部分数据。运行时前后台均为抛异常,但页面显示却不正常:
1. 不支持${abc}的方式引用缓存中的变量;
2. c:foreach功能没问题,但循环内部的c:out标签未能成功把数据print到html中,而是直接显示成${变量名}.
找不到思路,这都是从网上摘的可用的例子,一筹莫展。
最后怀疑是环境的问题,随即在另一个workspace中创建新的工程,并从网上找了另外一个示例JSP部署执行,竟然OK。那么这套环境是OK的,把有问题的JSP移动到这边还是不正常。Compare之后发现,问题出现在TagLib的引入声明上。
我采用的是URI的引入方式,错误的引入为:
这个引入的问题出在中间的[b]/jsp[/b]这三个字符上。隐约记得JSP1.0升级的JSP2.0的时候使用上有个小小的变化,莫非就是这个地方吗?
引入JSTL的时候,遇到了一个很怪异的问题,JSP页面中有一段代码,便利request中的一个集合,在页面上显示一部分数据。运行时前后台均为抛异常,但页面显示却不正常:
1. 不支持${abc}的方式引用缓存中的变量;
2. c:foreach功能没问题,但循环内部的c:out标签未能成功把数据print到html中,而是直接显示成${变量名}.
找不到思路,这都是从网上摘的可用的例子,一筹莫展。
最后怀疑是环境的问题,随即在另一个workspace中创建新的工程,并从网上找了另外一个示例JSP部署执行,竟然OK。那么这套环境是OK的,把有问题的JSP移动到这边还是不正常。Compare之后发现,问题出现在TagLib的引入声明上。
我采用的是URI的引入方式,错误的引入为:
<%@ taglib prefix="c"
uri="http://java.sun.com/jsp/jstl/core" %>
这个引入的问题出在中间的[b]/jsp[/b]这三个字符上。隐约记得JSP1.0升级的JSP2.0的时候使用上有个小小的变化,莫非就是这个地方吗?