1. 程式人生 > >jstl練習2

jstl練習2

text 技術分享 規範 class sco idea shm dtd content

一.本例不導包,請看練習1

 1 <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
 2 <%--
 3   Created by IntelliJ IDEA.
 4   User: Administrator
 5   Date: 2017/9/11
 6   Time: 20:30
 7   To change this template use File | Settings | File Templates.
 8 --%>
 9 <%@ page contentType="text/html;charset=UTF-8" language="java" %>
10
<html> 11 <head> 12 <title>set標簽的使用</title> 13 </head> 14 <body> 15 <h3>代碼給出了指定scope範圍賦值的示例</h3> 16 <ul> 17 <%--1.通過<c :set>標簽將data1的值放入page範圍中國.--%> 18 <li>把一個值放入page域中: <c :set var="data" value="data" scope="page"/> </li> 19
<%----%> 20 <%--2.使用EL表達式從pageScope得到data1的值。--%> 21 <li>從page域中得到值:${pageScope.data1}</li> 22 <%--3.通過<c:set>標簽將data2的值放入request範圍中。--%> 23 <li>把一個值放入request域中:<c:set var="data2" value="gacl" scope="request"/></li> 24
<%--4.使用EL表達式從requestScope得到data2的值。--%> 25 <li>從request域中得到值:${requestScope.data2}</li> 26 <%--通過<c:set>標簽將值name1的值放入session範圍中。--%> 27 <li>把一個值放入session域中。<c:set value="呵呵" var="name1" scope="session"></c:set> </li> 28 <%--使用EL表達式從sessionScope得到name1的值。--%> 29 <li>從session域中得到值:${sessionScope.name1} </li> 30 <%--把name2放入application範圍中。 --%> 31 <li>把一個值放入application域中。<c:set var="name2" scope="application">白虎神皇</c:set></li> 32 <%--使用EL表達式從application範圍中取值,用<c:out>標簽輸出使得頁面規範化。 --%> 33 <li>使用out標簽和EL表達式嵌套從application域中得到值: 34 <c:out value="${applicationScope.name2}">未得到name的值</c:out> 35 </li> 36 <%--不指定範圍使用EL自動查找得到值 --%> 37 <li>未指定scope的範圍,會從不同的範圍內查找得到相應的值:${data1}、${data2}、${name1}、${name2}</li> 38 </ul> 39 40 </body> 41 </html>

二.

 1 <!DOCTYPE web-app PUBLIC
 2  "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
 3  "http://java.sun.com/dtd/web-app_2_3.dtd" >
 4 
 5 <web-app>
 6   <display-name>Archetype Created Web Application</display-name>
 7   <welcome-file-list>
 8     <welcome-file>/jstl/jstl1.jsp</welcome-file>
 9   </welcome-file-list>
10 </web-app>

三.結果

技術分享

 1 <%@ page import="java.util.HashMap" %>
 2 <%@ page import="java.util.Map" %><%--
 3   Created by IntelliJ IDEA.
 4   User: Administrator
 5   Date: 2017/9/11
 6   Time: 20:54
 7   To change this template use File | Settings | File Templates.
 8 --%>
 9 <%@ page contentType="text/html;charset=UTF-8" language="java" %>
10 <html>
11 <head>
12     <title>Title</title>
13 </head>
14 <body>
15 <h3>使用Java腳本實現以上功能</h3>
16 <ul>
17     <li>把一個值放入page域中。<%pageContext.setAttribute("data1","xdp");%></li>
18     <li>從page域中得到值:<%out.println(pageContext.getAttribute("data1"));%></li>
19     <li>把一個值放入request域中。<%request.setAttribute("data2","gacl");%></li>
20     <li>從request域中得到值:<%out.println(request.getAttribute("data2"));%></li>
21 
22     <li>把一個值放入session域中。<%session.setAttribute("name1","");%></li>
23     <li>從session中域得到值:<%out.println(session.getAttribute("name1"));%></li>
24     <%--out.println()方法與<%=%>表達式輸出功能一樣
25     但使用表達式輸出(<%=%>)明顯要比使用out.println()輸出更好。
26     --%>
27     <li><%=session.getAttribute("name1") %></li>
28     <li>把另一個值放入application域中。<%application.setAttribute("name2","");%></li>
29     <li> 從application域中得到值:<%out.println(application.getAttribute("name2"));%></li>
30     <li><%=application.getAttribute("name2")%></li>
31 
32     <li>未指定scope的範圍,會從不同的範圍內查找得到相應的值:
33         <%=pageContext.findAttribute("data1")%>34         <%=pageContext.findAttribute("data2")%>35         <%=pageContext.findAttribute("name1")%>36         <%=pageContext.findAttribute("name2")%>
37     </li>
38 </ul>
39 <hr/>
40 <h3>操作JavaBean,設置JavaBean的屬性值</h3>
41 <%--設置JavaBean的屬性值,等同與setter方法,Target指向實例化後的對象,property指向要插入值的參數名。
42 註意:使用target時一定要指向實例化後的JavaBean對象,也就是要跟<jsp:useBean>配套使用,
43 也可以java腳本實例化,但這就失去了是用標簽的本質意義。
44 使用Java腳本實例化:
45 <%@page import="javabean.Person"%
46 <% Person person=new Person(); %>
47  --%>
48 <c:set target="${person}" property="name">孤傲蒼狼</c:set>
49 <c:set target="${person}" property="age">25</c:set>
50 <c:set target="${person}" property="sex">男</c:set>
51 <c:set target="${person}" property="home">中國</c:set>
52 <ul>
53     <li>使用的目標對象為:${person}</li>
54     <li>從Bean中獲得的name值為:<c:out value="${person.name}"></c:out></li>
55     <li>從Bean中獲得的age值為:<c:out value="${person.age}"></c:out></li>
56     <li>從Bean中獲得的sex值為:<c:out value="${person.sex}"></c:out></li>
57     <li>從Bean中獲得的home值為:<c:out value="${person.home}"></c:out></li>
58 </ul>
59 <hr/>
60 <h3>操作Map</h3>
61 <%
62     Map map = new HashMap();
63     request.setAttribute("map",map);
64 %>
65 <%--將data對象的值存儲到map集合中 --%>
66 <c:set property="data" value="gacl" target="${map}"/>
67 ${map.data}
68 </body>
69 </html>
70 </body>
71 </html>

結果:

技術分享

out標簽功能:

 1 <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
 2 <%--
 3   Created by IntelliJ IDEA.
 4   User: Administrator
 5   Date: 2017/9/11
 6   Time: 20:59
 7   To change this template use File | Settings | File Templates.
 8 --%>
 9 <%@ page contentType="text/html;charset=UTF-8" language="java" %>
10 <html>
11 <head>
12     <title>out標簽的使用</title>
13 </head>
14 <body>
15 <c:out value="輸出字符串"></c:out>
16 <c:out value="${EL表達式}"/>
17 <c:out value="${null}" default="這個顯示默認值"/>
18 <c:out value="${null}"/>
19 </body>
20 </html>
 1 <!DOCTYPE web-app PUBLIC
 2  "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
 3  "http://java.sun.com/dtd/web-app_2_3.dtd" >
 4 
 5 <web-app>
 6   <display-name>Archetype Created Web Application</display-name>
 7   <welcome-file-list>
 8     <welcome-file>/jstl/jstl3.jsp</welcome-file>
 9   </welcome-file-list>
10 </web-app>

結果:

技術分享

jstl練習2