EL&JSTL
ç®å½
3ï¼JSTLæ ¸å¿åºçå¸¸ç¨æ ç¾
1.æ ç¾<c:if test=ââ>
2.æ ç¾<c:forEach>
1.EL
1ï¼EL表达å¼
ELï¼Express Lanuageï¼è¡¨è¾¾å¼å¯ä»¥åµå ¥å¨jsp页é¢å é¨ï¼åå°jspèæ¬çç¼åï¼EL åºç°çç®çæ¯è¦æ¿ä»£jsp页é¢ä¸èæ¬çç¼åã
2ï¼ELä»åä¸ååºæ°æ®
jspèæ¬ï¼<%=request.getAttribute(name)%>
ELè¡¨è¾¾å¼æ¿ä»£ä¸é¢çèæ¬ï¼${requestScope.name}
ELæä¸»è¦çä½ç¨æ¯è·å¾å大åä¸çæ°æ®ï¼æ ¼å¼${EL表达å¼}
ELè·å¾pageContextåä¸çå¼ï¼${pageScope.key};
ELè·å¾requeståä¸çå¼ï¼${requestScope.key};
ELè·å¾sessionåä¸çå¼ï¼${sessionScope.key};
ELè·å¾applicationåä¸çå¼ï¼${applicationScope.key};
ELä»å个åä¸è·å¾æä¸ªå¼${key};
---åæ ·æ¯ä¾æ¬¡ä»pageContextåï¼requeståï¼sessionåï¼applicationåä¸è·å屿§ï¼å¨æä¸ªåä¸è·ååå°ä¸å¨åå寻æ¾
<%@page import="java.util.ArrayList"%>
<%@page import="java.util.List"%>
<%@page import="domain.User"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
<!-- 模æåä¸çæ°æ® -->
<%
//åå¨å符串
request.setAttribute("company", "ç¨åºå");
pageContext.setAttribute("company", "ç¨åºå1");
//åå¨ä¸ä¸ªå¯¹è±¡
User user = new User();
user.setId(1);
user.setName("zhangsan");
user.setPassword("123");
session.setAttribute("user", user);
//åå¨ä¸ä¸ªéå
List<User> list = new ArrayList<User>();
User user1 = new User();
user1.setId(2);
user1.setName("lisi");
user1.setPassword("123");
list.add(user1);
User user2 = new User();
user2.setId(3);
user2.setName("wangwu");
user2.setPassword("123");
list.add(user2);
application.setAttribute("list",list);
%>
<!-- èæ¬æ¹å¼ååºåä¸çå¼ -->
<%=request.getAttribute("company") %>
<%
User sessionUser = (User)session.getAttribute("user");
out.write(sessionUser.getName());
%>
<hr/>
<!-- 使ç¨EL表达å¼è·å¾åä¸çå¼ -->
${requestScope.company }<%--ç¨åºå--%>
${sessionScope.user.name }<%--zhangsan--%>
${applicationScope.list[1].name }<%--wangwu--%>
<!-- 使ç¨el表达å¼å
¨åæ¥è¯¢ -->
${company }<%--ç¨åºå1--%>
${user.name }<%--zhangsan--%>
${list[1].name }<%--wangwu--%>
</body>
</html>
3ï¼ELçå 置对象
è·åJSPä¸åä¸çæ°æ®
pageScope,requestScope,sessionScope,applicationScope
æ¥æ¶åæ°
param,paramValuesç¸å½äºrequest.getParameter() rrquest.getParameterValues()
è·å请æ±å¤´ä¿¡æ¯
header,headerValuesç¸å½äºrequest.getHeader(name)
è·åå ¨å±åå§ååæ°
initParamç¸å½äºthis.getServletContext().getInitParameter(name)
WEBå¼åä¸cookie
cookieç¸å½äºrequest.getCookies()---cookie.getName()---cookie.getValue()
<context-param>
<param-name>aaa</param-name>
<param-value>XXX</param-value>
</context-param>
<%
Cookie cookie = new Cookie("name","rose");
response.addCookie(cookie);
%>
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
<!-- è·å¾è¡¨åçåæ° -->
<%
request.getParameter("username");
%>
<!-- 使ç¨elè·å¾è¡¨ååæ° -->
${param.username }
${header.Host }
${header["User-Agent"] }
${initParam.aaa }
${cookie.name.value }
<!-- éè¿el表达å¼è·å¾request对象 -->
${pageContext.request.contextPath }
</body>
</html>
WEBå¼åä¸çpageContext
pageContextï¼pageContextè·å¾å ¶ä»å «å¤§å¯¹è±¡
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link href="${pageContext.request.contextPath }/xxx.css">
<script type="text/javascript" src="${pageContext.request.contextPath }/yyy.js"></script>
<title>Insert title here</title>
</head>
<body>
<form action="${pageContext.request.contextPath }/el/form2.jsp" method="post">
<input type="text" name="username"><br>
<input type="password" name="password"><br>
<input type="checkbox" name="hobby" value="zq">è¶³ç
<input type="checkbox" name="hobby" value="pq">æç
<input type="checkbox" name="hobby" value="ppq">ä¹ä¹ç<br>
<input type="submit" value="æäº¤"><br>
</form>
<img alt="" src="${pageContext.request.contextPath }/1.jpg">
<img alt="" src="${pageContext.request.contextPath }/2.jpg">
<img alt="" src="1.jpg">
</body>
</html>
${pageContext.request.contextPath } 卿è·åWEBåºç¨åç§°
4ï¼ELæ§è¡è¡¨è¾¾å¼
<!-- elå¯ä»¥æ§è¡è¡¨è¾¾å¼è¿ç® -->
${1+1 }
${user==null?true:false}
<!-- emptyå¤å®æä¸ªå¯¹è±¡æ¯å¦ä¸ºç©º -->
${empty user}
2.JSTL
1ï¼JSTLæ¦è¿°
JSTLï¼JSP Standard Tag Library)ï¼JSPæ åæ ç¾åºï¼å¯ä»¥åµå ¥å¨jsp页é¢ä¸ä½¿ç¨æ ç¾çå½¢å¼å®æä¸å¡é»è¾çåè½ãjstlåºç°çç®çåel䏿 ·ä¹æ¯è¦ä»£æ¿jsp页é¢ä¸çèæ¬ä»£ç ãJSTLæ åæ åæ ç¾åºæ5个ååºï¼å¸¸ä½¿ç¨çæ¯ä»çæ ¸å¿åºã
æ ç¾åº |
æ ç¾åºçURI |
åç¼ |
Core |
http://java.sun.com/jsp/jstl/core |
c |
I18N |
http://java.sun.com/jsp/jstl/fmt |
fmt |
SQL |
http://java.sun.com/jsp/jstl/sql |
sql |
XML |
http://java.sun.com/jsp/jstl/xml |
x |
Functions |
http://java.sun.com/jsp/jstl/functions |
fn |
2ï¼JSTLä¸è½½ä¸å¯¼å ¥
ä»Apacheçç½ç«ä¸è½½JSTLçJARå ãè¿å ¥ http://archive.apache.org/dist/jakarta/taglibs/standard/binaries/ç½åä¸è½½ JSTLçå®è£ å ãjakarta-taglibs-standard-1.1.2.zipï¼ç¶åå°ä¸è½½å¥½çJSTLå®è£ å è¿è¡è§£åï¼æ¤æ¶ï¼å¨libç®å½ä¸å¯ä»¥çå°ä¸¤ä¸ªJARæä»¶ï¼åå«ä¸ºjstl.jaråstandard.jarã
jstl.jaræä»¶å å«JSTLè§èä¸å®ä¹çæ¥å£åç¸å ³ç±»ï¼standard.jaræä»¶å å«ç¨äº å®ç°JSTLç.classæä»¶ä»¥åJSTLä¸5个æ ç¾åºæè¿°ç¬¦æä»¶ï¼TLDï¼
å°ä¸¤ä¸ªjarå å¯¼å ¥æä»¬å·¥ç¨çlibä¸ã
使ç¨jspçtaglibæä»¤å¯¼å ¥æ ¸å¿æ ç¾åºã
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
3ï¼JSTLæ ¸å¿åºçå¸¸ç¨æ ç¾
1.<c:if test=ââ>æ ç¾
å ¶ä¸testæ¯è¿åbooleançæ¡ä»¶
<%
request.setAttribute("count", 10);
%>
<!-- jstlæ ç¾ç»å¸¸ä¼åelé
åä½¿ç¨ -- >
<!-- test代表çè¿åbooleançè¡¨è¾¾å¼ -->
<c:if test="${count==10 }">
xxx
</c:if>
2.<c:forEach>æ ç¾
ä½¿ç¨æ¹å¼æä¸¤ç§ç»åå½¢å¼ï¼æ¨¡æfor循ç¯å模æå¢å¼ºfor
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
<!-- forEach模æ
for(int i=0;i<=5;i++){
syso(i)
}
-->
<c:forEach begin="0" end="5" var="i">
${i }<br/>
</c:forEach>
<!-- 模æå¢å¼ºfor productList---List<Product>
for(Product product : productList){
syso(product.getPname());
}
-->
<!-- items:ä¸ä¸ªéåææ°ç» var:代表éåä¸çæä¸ä¸ªå
ç´ -->
<c:forEach items="${productList }" var="pro">
${pro.pname }
</c:forEach>
</body>
</html>
<%@page import="java.util.HashMap"%>
<%@page import="java.util.Map"%>
<%@page import="domain.User"%>
<%@page import="java.util.ArrayList"%>
<%@page import="java.util.List"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
<%
//模æList<String> strList
List<String> strList = new ArrayList<String>();
strList.add("itcast");
strList.add("itheima");
strList.add("boxuegu");
strList.add("shandingyu");
request.setAttribute("strList", strList);
//éåList<User>çå¼
List<User> userList = new ArrayList<User>();
User user1 = new User();
user1.setId(2);
user1.setName("lisi");
user1.setPassword("123");
userList.add(user1);
User user2 = new User();
user2.setId(3);
user2.setName("wangwu");
user2.setPassword("123");
userList.add(user2);
application.setAttribute("userList", userList);
//éåMap<String,String>çå¼
Map<String,String> strMap = new HashMap<String,String>();
strMap.put("name", "lucy");
strMap.put("age", "18");
strMap.put("addr", "è¥¿ä¸æ");
strMap.put("email", "[email protected]");
session.setAttribute("strMap", strMap);
//éåMap<String,User>çå¼
Map<String,User> userMap = new HashMap<String,User>();
userMap.put("user1", user1);
userMap.put("user2", user2);
request.setAttribute("userMap", userMap);
%>
<h1>ååºstrListçæ°æ®</h1>
<c:forEach items="${strList }" var="str">
${str }
</c:forEach>
<h1>ååºuserListçæ°æ®</h1>
<c:forEach items="${userList }" var="user">
userçname:${user.name }------userçpassword:${user.password }<br/>
</c:forEach>
<h1>ååºstrMapçæ°æ®</h1>
<c:forEach items="${strMap }" var="entry">
${entry.key }====${entry.value }<br/>
</c:forEach>
<h1>ååºuserMapçæ°æ®</h1>
<c:forEach items="${userMap }" var="entry">
${entry.key }:${entry.value.name }--${entry.value.password }<br/>
</c:forEach>
</body>
</html>
3.javaEEçå¼å模å¼
1ï¼javaEEç»åçæ¨¡å¼
model1模å¼
ææ¯ç»æï¼jsp+javaBean
model1çå¼ç«¯ï¼éçä¸å¡å¤ææ§ 导è´jsp页颿¯è¾æ··ä¹±
model2模å¼
ææ¯ç»æï¼jsp+servlet+javaBean
model2çä¼ç¹ï¼å¼åä¸ ä½¿ç¨åä¸ªææ¯æ é¿çæ¹é¢
servletï¼æ é¿å¤çjavaä¸å¡ä»£ç
jspï¼æ é¿é¡µé¢çç°å®
MVCï¼---- webå¼åç设计模å¼
Mï¼Model---模å javaBeanï¼å°è£ æ°æ®
Vï¼View-----è§å¾ jspï¼å纯è¿è¡é¡µé¢çæ¾ç¤º
Cï¼Controller----æ§å¶å¨ Serveltï¼è·åæ°æ®--å¯¹æ°æ®è¿è¡å°è£ --ä¼ éæ°æ®-- ææ´¾æ¾ç¤ºçjsp页é¢
MVCæ¯ä¸å±æ¶æwebå±çææ¯ã
2ï¼javaEEçä¸å±æ¶æ
æå¡å¨å¼åæ¶ å为ä¸å±
webå±ï¼ä¸å®¢æ·ç«¯äº¤äº
serviceå±ï¼å¤æä¸å¡å¤ç
daoå±ï¼ä¸æ°æ®åºè¿è¡äº¤äº
å¼åå®è·µæ¶ ä¸å±æ¶æéè¿å ç»æä½ç°