一、关于JSTL和EL:
JSTL( JSP Standard Tag Library)是JSP标准 标签库,由apache实现。
EL(Expression Language)表达式语言。
JSTL在赋值时会大量用到EL表达式。可以简单理解成,EL只是JSTL中的一部分。
作用:
简化jsp页的书写;削弱jsp中调用servlet的Java代码,便于分层控制。只要是jsp能够完成的功能使用JSTL和EL表达式都可以完成。包括从和Servlet的数据交互、操作XML、格式化数据显示以及样式显示(控制表格的偶数行使用不同的颜色显示等)、Request中读取数据、控制循环(数组、Map等)、支持函数处理(trim、substring、join等)、还可以自定义函数等、操作数据库(违背分层原则,一般不这么使用)。
二、EL的使用
在jsp界面中表达属性
不用EL:
用户名:<%=request.getParameter("usename") %>
密码:<%=request.getParameter("pass")%>
用户名:<%=request.getAttribute("usename") %>
密码:<%=request.getAttribute("pass")%>
使用EL:
${usename} ${requestScope.usename}
javaBean属性
<%=mybean.getUsename()%>
使用UL
${mybean.usename}
param与paramValues对象的使用
用户名:<%=request.getParameter("usename") %>
用户名:${param.usename}
密码:<%=request.getParameter("pass")%>
密码:${param.pass }
String[] favorites=request.getParameterValues("favorite");
${paramValues.favorite[0]}
${paramValues.favorite[1]}
initParam对象的使用
获取web.xml文件中所指定的web应用上下文中的初始参数值
${initParam.name}相当于application.getInitParameter(name);