1.使用Servlet2.4/jsp2.0
1. 确定Web Container支持Serverlet2.4, 复制支持jstl 1.1版本的jstl.jar,standard.jar(可查阅meta-inf)到web-inf/lib。
2. 在Web.xml,Root节点改为
3.在jsp中,对core,ftm taglib的引入改为
2.直接在html里面使用EL,而不是
充分使用JSP2.0的EL,直接在html中写${book} 而不是将获得简洁无比,可比美velocity,freemarker的界面。
3.新增的Function标签
Function标签里最有用的一项是取得List,Map的size了。另外有一些StringUtils和Collection的函数。
JSTL里面不给调用对象除getXXX()外的任何方法真是件很让让人郁闷的事情!!
${fn:length(myList)}
4.其他的EL知识点
4.1 EL的运算符
除了最基本的算术运算符,逻辑运算符,比较运算符外,还有一个empty运算符,用来判断变量是否为null 或list, map的size 是否为零。
EL的运算符都有文字和符号两种版本,如|| 和 or, >= 和 ge,适用于不能使用文字或符号的时候。
4.2 []与. 两种访问属性或元素的方式
${book.name}与${book["name"]}等价。
${book["name"]}主要用于"name"串为变量,或者字符串中含有"."字符的情况
如 ${myMap[order.status]} 是访问Map元素的一种很重要的方式。
4.3 list与map
orderList[0] 返回第一个元素
用key和value遍历map
${entry.value}
4.4.访问静态变量
不过使用Map将失去静态变量编译期安全的意义,因此还是建议在这种情况下,使用普通JSP,见showOrder.jsp