EL和JSTL这俩组合确实是把JSP开发搞得省心多了。对于01EL表达式来说,最大的好处就是彻底摆脱了<%=这种代码块,现在写数据显示只需要敲一行${username},根本不用再写一长串Java Expression Language的东西。在JSP页面里,你再也不用费劲儿写那一串的getAttribute和request了,直接写个变量名就完事。它还会自动转换类型,按作用域从page到application依次查找数据,找不到就直接返回null,既简单又安全。 比如点操作符和数组操作符就很方便,点操作符用来拿JavaBean的属性,${user.name}就够了;如果要访问Map或者数组,用数组操作符就行,${user["name"]}。还有那个Empty操作符判断空值也很省心,${empty a}能直接判断a是null还是空字符串,不用像以前那样绕圈子。 至于JSTL标签库就更是把循环、判断这些动作变成了诗一样的写法。JSP Standard Tag Library把EL当成了燃料,提供了标准动作来替换掉原来的脚本片段。这套标签库几乎解决了页面编码90%的痛点。 比如set标签给变量赋值特别方便,直接把值赋过去就行;out标签安全输出也不错,既过滤了null又防止了XSS注入;remove标签可以一键清空变量;if标签还是懒加载的;choose标签能做多分支的判断;forEach标签遍历集合就像写诗一样优雅。 举个例子吧,如果你需要判断一个用户有没有登录过,可以用