寒假生活指导 18
JSP 表达式语言:简化页面逻辑的利器
JSP 表达式语言是替代 <% %> 脚本的现代化方案,通过简洁语法实现数据访问与运算,大幅提升代码可读性。
- 基础语法
 取值符号:${表达式}
 访问作用域(优先级从高到低):
 pageScope → requestScope → sessionScope → applicationScope
欢迎,${sessionScope.user.name}
当前时间:${serverTime}
- 
操作对象与集合 
 访问对象属性:
 ${user.address.city}
 操作 Map/List:
 ${scores["math"]}
 ${users[0].name}
 判空简写:
 $
- 
隐式对象 
 EL 提供 11 个内置隐式对象,快速访问常见数据:
对象	说明	示例
param	获取请求参数	${param.keyword}
header	获取请求头	${header["User-Agent"]}
cookie	访问 Cookie	${cookie.JSESSIONID.value}
initParam	获取全局初始化参数	${initParam.appVersion}
pageContext	访问 JSP pageContext 对象	${pageContext.request.contextPath}
- 运算符与函数
 关系运算:eq、ne、lt、gt(替代 ==、!=、<、>)
 ${user.age gt 18 ? "成人" : "未成年"}
 算术运算:+、-、*、/ 或 div、% 或 mod
 ${(totalPrice * discount) / 100}
 调用静态方法(需配置web.xml):
${fn:formatDate(now, initParam.dateFormat)}
- 结合 JSTL 增强功能
 通过 JSTL 函数标签库扩展 EL 能力:
 <%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %>
${fn:toUpperCase(userName)}
${fn:substring(description, 0, 100)}
${fn:length(orderList)}
${fn:join(tags, ", ")}
实际应用案例
动态渲染商品列表:
| ${product.id} | ${fn:escapeXml(product.name)} |  | 
 
                    
                     
                    
                 
                    
                
 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号