《一:EL表达式》
1.在jsp页面中,找到指定的属性:findAttribute(String name)按作用域从小到大获取:
pageContext<request<session<application
2.假设有对象:emp
属性 getter setter
name getName setName
age getAge setAge
list getList setList
2.1:在jsp中的name属性的值:${emp.name} /${emp["name"]} <==> <%=pageContext.findAttribute("name") %>
2.2:常见集中数据用EL表达式获取:
private String[] favs = {"1", "2", "3"} : emp.favs[0/1/2]
private List list = new ArrayList(); emp.list[0/1/2]
private Map<String, String> map = new HashMap(); emp.map.ys1 / emp.map["ys1"]
<"ys1", "A">;<"ys2", "B">
3.EL表达式语法:
1.${msg} <==> <%=pageContext.findAttribute("msg")%>: ${} <==> <%=...%>
2.EL中访问javaBean中的属性: ${javaBean对象.属性名} <==> ${javaBean对象.getXxx()}
3.判断对象属性是否为空: ${empty 属性名} <==> ${! empty 属性名} / ${not emty 属性名}
4.对象的比较: ${"A" eq 属性名}
5.在JSP中获取上下文路径(其中EL表达式中调用方法功能是新特性):
${pageContext.request.contextPath} <==> <%=request.getContextPath%> <==> ${pageContext.getRequest().getContextPath()}
6.在特定作用域中寻找属性:
pageScope/requestScope/sessionScope/applicationScope.属性名;
《二:JSTL》
1.环境的准备:
1.1:导入两个jar包:taglibs-standard-impl-1.2.5.jar和taglibs-standard-spec-1.2.5.jar:位于Tomcat根/webapp.exemples/WEB-INF/lib中
1.2:在jsp中引入标签库:
<%@taglib uri="http://java....core" prefix="c" %>
2.常用的JSTL标签:
2.1:for循环标签:
<c:forEach item="集合“ var="集合中取出的一个对象,再放入共享区间中的一个别名,任意取”>
..
</c:forEach>
<c:forEach begin="" end="" ></c:forEach>
2.2:条件执行:
<c:choose>
<c:when test="条件" >条件成立时执行的</c:wher>
</c:choose>
2.3:if条件语句:
<c:if test="..." var="varName" scope="page/request/session/application" />
<c:if test="..." var="varName" scope="page/request/session/application" >
...
</c:if>