国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

開通VIP
零點(diǎn)代碼JSP教程十三之EL表達(dá)式和JSTL的綜合-問查網(wǎng)(www.vvcha.cn)
n       EL:表達(dá)式語言,在支持servlet2.4/JSP2.0或以上版本的容器中有效。
n       語法: ${ expression }
n       例如:
n       ${ sessionScope.user.name}
n       User user=(User)session.getAttribute(“user”);
n       String name=user.getName();
n       EL:表達(dá)式語言,在支持servlet2.4/JSP2.0或以上版本的容器中有效。
n       語法: ${ expression }
n       例如:
n       ${ sessionScope.user.name}
n       User user=(User)session.getAttribute(“user”);
n       String name=user.getName();
n       EL存取變量數(shù)據(jù)的方法
n       ${ 變量 }
n       存取某一范圍的變量值,沒有制定范圍默認(rèn)為page假如找不到依次為request,session,application;
n       假如全部范圍都找不到,就返回null
n       ${username}   或  ${requestScope.username}
n       EL中的四大隱含對象
n       PageScope
n       RequestScope
n       SessionScope
n       ApplicationScope
n       pageContext
n       表示此JSP的PageContext
n       pageScope
n       取得page范圍的屬性名稱所對應(yīng)的值
n       requestScope
n       取得request范圍的屬性名稱所對應(yīng)的值
n       sessionScope
n       取得session范圍的屬性名稱所對應(yīng)的值
n       applicationScope
n       取得application范圍的屬性名稱所對應(yīng)的值
n       param
n       如同request.getParameter(String name),返回String值
n       paramValues
n       如同reqeust.getParameterValues(String name);返回String[]值
JSTL --java標(biāo)準(zhǔn)標(biāo)簽函數(shù)庫:
n       JSTL是一個(gè)標(biāo)準(zhǔn)的已經(jīng)制定好的標(biāo)簽庫,可以用到各種領(lǐng)域,如:基本輸入輸出、流程控制、循環(huán)、XML文件解析、數(shù)據(jù)庫查詢及國際化應(yīng)用等。
n       JSTL中提供的標(biāo)簽主要分為5類
n       核心標(biāo)簽庫
n       I18N標(biāo)簽庫
n       SQL標(biāo)簽庫
n       XML標(biāo)簽庫
n       函數(shù)標(biāo)簽庫
JSTL
前置名稱
URI
范例
核心標(biāo)簽庫
c
http://java.sun.com/jsp/jstl/core
<c:out>
I18N格式標(biāo)簽庫
fmt
http://java.sun.com/jsp/jstl/fmt
<fmt:formatDate>
SQL標(biāo)簽庫
sql
http://java.sun.com/jsp/jstl/sql
<sql:query>
XML標(biāo)簽庫
xml
http://java.sun.com/jsp/jstl/xml
<xml:forBach>
函數(shù)標(biāo)簽庫
fn
http://java.sun.com/jsp/jstl/functions
<fn:split>
n       使用比較
n       Jsp :   <%= userList.getUser().getPhoneNumber()%>
n       Jstl :
<c:out   value=“<%= userList.getUser().getPhoneNumber()%>”/>
n       Jstl + el  :
<c:out value=“${userList.user.phoneName}”/>
JSTL 的使用
n       JSTL必須在支持Servlet2.4且Jsp2.0以上版本的容器上才行。
n       JSTL是由Apache組織的JakartaProject所實(shí)現(xiàn),所以可以到Apache網(wǎng)站去下載,一般是.zip格式的。
n       jakarta-taglibs-standard-1.1.2.zip
JSTL –安裝
n       從www.apache.org下載jakarta-taglibs-standard-current.zip
n       將akarta-taglibs-standard-1.1.2/lib中的jstl.jar, standard.jar文件拷貝到WEB-INF/lib目錄。
n       解壓縮下載的文件,將jakarta-taglibs-standard-1.1.2/tld目錄全部拷貝到WEB-INF/目錄下。
n       核心標(biāo)簽庫:基本輸入輸出、流程控制、迭代操作和URL操作。
n       聲明:
<%@taglib prefix=“c”  uri=“http://java.sun.com/jsp/jstl/core”%>
n       分為四大類:
n       表達(dá)式操作:out, set, remove,catch;
n       流程控制:if,choose,when, otherwise;
n       迭代操作:forEach,forTokens;
n       URL操作:import,url,redirect,param;
<c:set>與<c:out>:
n       <c:set>主要用來將變量存儲(chǔ)至jsp范圍中或是javabean的屬性中。
n       <c:set   var=“”  value=“”  scope=“” />
n       將value中的值存儲(chǔ)至scope指定的var變量名中
n       <c:set   var=“”  scope=“” />
n       內(nèi)容體
n       </c:set>
n       將內(nèi)容體中的信息存儲(chǔ)至scope指定的var變量名中
n       <c:set   value=“” target=“bean”
property=“propertyName”/>
n       將value中的值存儲(chǔ)到target指定的bean中的property屬性中
n       <c:set var=“number” value=“${1+8}” scope=“session”/>
n       <c:set var=“number” scope=“session”>
n       ${2+3}
n       </c:set>
n       <c:set target=“User” property=“name”  value=“Tom”/>
n       <c:set target=“User” property=“name”  value=“${param.name}”/>
n       切記:
n       var 和 scope這兩個(gè)屬性的值不能使用表達(dá)式來表示
n       var=“${name}” scope=“${ourScpe}”
n       <c:out>主要是用來顯示數(shù)據(jù)的內(nèi)容,和<%= %>是一樣的效果。
n       <c:out  value=“” [defalut=“”]   [escapeXml=“true”]/>
n       value:表示需要顯示出來的值
n       default:假如value中的值為null,則顯示defalut的值
n       escapeXml:是否轉(zhuǎn)換非凡字符,如:<轉(zhuǎn)換成&lt;
n       value屬性是必須的
n       default和escapeXml是可選屬性
n       <c:out value=“hello,JSTL!”/>
n       <c:out  value=“${3+5}”/>
n       <c:out  value=“${param.number}”  [default=“2006” ]/>
n       <c:out value=“<p>有非凡字符</p>” />
n       <p>有非凡字符</p>
n       <c:out value=“<p>有非凡字符</p>” escapeXml=“false”/>
n       有非凡字符
<c:remove>:
n       <c:remove>主要用來移出變量
n       <c:remove var=“varName” [scope=“{p/r/s/a}”]/>
n       Scope 的默認(rèn)值為page.
n       假如沒有設(shè)定scope值,則從page/request/
session/application范圍依次查找,找到就刪除,假如找不到就不做任何事情。
n       <c:remove var=“number”  scope=“session”/>
流程控制標(biāo)簽
n       <c:if>
n       <c:chose>
n       <c:when>
n       <c:otherwise>
n       <c:if>的用途和我們一般在程序中用的if一樣
n       <c:if  test=“testCondition”    [var=“” scope=“”]/>
n       <c:if test=“${sessionScope.username==“admin”}”>
n                Admin你好!
n       </c:if>
n       <c:choose>表示選擇,但要作為<c:when>與<c:otherwise>的父標(biāo)簽來使用。
n       <c:choose>
n       內(nèi)容
n       </c:choose>
n       可選內(nèi)容:
n       空白
n       1或多個(gè)<c:when>
n       0或多個(gè)<c:otherwise>
n       <c:when> 的用途和我們一般在程序中的when一樣
n       <c:when test=“testCondition”>
n       內(nèi)容
n       </c:when>
n       <c:otherwise>表示所有條件都不成立時(shí)執(zhí)行
n       < c:otherwise>
n       內(nèi)容
n       </ c:otherwise >
n       假如和<c:choose>一起用必須放在<c:choose>與</c:choose>中間,且必須放在<c:otherwise>前使用。
n       選擇條件:
n       <c:choose>
n       <c:when test=“${condition }”>
n       ….
n       </c:when>
n       <c:when test=“${condition }”>
n       ….
n       </c:when>
n       <c:otherwise>
n       ….
n       </c:otherwise>
n       </c:choose>
<c:forEach>:
n       <c:forEach>
n       為循環(huán)控制,它可以將集合(Collection)中的成員循序?yàn)g覽一遍
n       當(dāng)條件符合時(shí),就會(huì)持續(xù)反復(fù)執(zhí)行< c:forEach>的本體內(nèi)容
n       迭代循環(huán):
n       <c:forEach  items=“”  var=“ ”     begin=“”
n                            end=“”     step=“”>
n          ……
n       </c:forEach>
n       參數(shù)說明:
n       items:被迭代的集合對象
n       var:用來存放現(xiàn)在指到的成員,String
n       begin:開始位置,int
n       end:結(jié)束位置,int, end 值必須大于begin
n       step:每次迭代的間隔數(shù),int,必須大于0
總結(jié):要使用JSTL標(biāo)簽的話首先要導(dǎo)入JSTL.JAR的價(jià)包,在我們自己的項(xiàng)目中利用工具可以添加上去了;使用<c></c>標(biāo)簽的話,假如沒有c.tld文件,我們就需要找到相應(yīng)的.c.tld文件COPY到WEB-INF/lib/和web.xml文件等級(jí)的目錄下了;如c.tld 文件的內(nèi)容如下:
<taglib xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-jsptaglibrary_2_0.xsd"
version="2.0">
<description>JSTL 1.1 core library</description>
<display-name>JSTL core</display-name>
<tlib-version>1.1</tlib-version>
<short-name>c</short-name>
<uri>http://java.sun.com/jsp/jstl/core</uri>
<validator>
<description>
Provides core validation features for JSTL tags.
</description>
<validator-class>
org.apache.taglibs.standard.tlv.JstlCoreTLV
</validator-class>
</validator>
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
上面是省略掉的板塊[不省略的話大概有幾千行的代碼吧。。。。。。]
</taglib>
其實(shí)別害怕,我們用的時(shí)候指要知道一個(gè)uri屬性就可以了…………………………………………………………..如上面的:
<uri>http://java.sun.com/jsp/jstl/core</uri>
因?yàn)槲覀冊?lt;%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"  %>頁面中的這個(gè)屬性上面就要用到:uri這個(gè)屬性 prefix=”c”是指標(biāo)簽的前綴是C
OK,我們就可以在頁面中使用JSTL標(biāo)簽了,現(xiàn)在我們只說<C></C>標(biāo)簽
下面了帶點(diǎn)實(shí)質(zhì)的:
參考一下了:
<%@ page language="java" import="java.util.*" pageEncoding="gbk"%>
<jsp:directive.page import="Bean.Message"/>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"  %>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">
<title>My JSP 'showmessage.jsp' starting page</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->
</head>
<script type="text/javascript">
function change()
{
document.myform.submit();
//document.myform.nowpage.value=a;
}
</script>
<%
//ArrayList<Message> list=(ArrayList)request.getAttribute("list");
%>
<body bgcolor="#8080c0">
<form name="myform" action="ShowMessageListServlet" method="post" >
<table align="center" bgcolor="#8080c0" border="1">
<tr>
<td><font color="blue" size=5>學(xué)員編號(hào)</font></td>
<td><font color="blue" size=5>學(xué)員姓名</font></td>
<td><font color="blue" size=5>留言標(biāo)題</font></td>
<td><font color="blue" size=5>留言內(nèi)容</font></td>
<td><font color="blue" size=5>留言時(shí)間</font></td>
</tr>
<c:forEach items="${requestScope.list}" var="list">
<tr>
<td><c:out value="${list.id}"/></td>
<td><c:out value="${list.username}"/></td>
<td><c:out value="${list.title}"/></td>
<td><c:out value="${list.message}"/></td>
<td><c:out value="${list.sendDate}"/></td>
</tr>
</c:forEach>
<tr>
<td>總共${requestScope.messagecount}條留言</td>
<td>當(dāng)前第${requestScope.nowpage}頁<a href="ShowMessageListServlet?nowpage=1 }">首頁</a>/<a href="ShowMessageListServlet?nowpage=${requestScope.pagecount}">尾頁</a></td>
<c:if test="${requestScope.nowpage>1}">
<td><a href="ShowMessageListServlet?nowpage=<%=Integer.parseInt(request.getAttribute("nowpage").toString())-1%>">上一頁</a></td>
</c:if>
<c:if test="${requestScope.nowpage==1}">
<td><a><font color="blue">已是首頁</font></a></td>
</c:if>
<c:if test="${requestScope.nowpage<requestScope.pagecount}">
<td><a href="ShowMessageListServlet?nowpage=<%=Integer.parseInt(request.getAttribute("nowpage").toString())+1 %>">下一頁</a></td>
</c:if>
<c:if test="${requestScope.nowpage==requestScope.pagecount}">
<td><a><font color="blue">已是尾頁</font></a></td>
</c:if>
<td>跳轉(zhuǎn)到第
<select name="nowpage" onChange="change()">
<c:forEach begin="1" end="${requestScope.pagecount}" var="i">
<c:choose>
<c:when test="${requestScope.nowpage==i}">
<option value="${i}" selected>${i}</option>
</c:when>
<c:when test="${requestScope.nowpage!=i}">
<option value="${i}">${i}</option>
</c:when>
</c:choose>
</c:forEach>
</select>頁</td>
</tr>
</table>
</form>
</body>
</html>
上面的是一個(gè)分頁顯示留言的主頁面,大家有愛好的可以研讀一下,基本上用到了<C></C>的很多的標(biāo)簽了……可以說是一個(gè)很經(jīng)典的例子了,但還是EL表達(dá)式和JSTL的綜合版了,上面也用到了EL表達(dá)式的一些知識(shí);
總結(jié):EL表達(dá)式是取值或得到值的表達(dá)式.......對于數(shù)據(jù)的操作可以采用EL表達(dá)式,而JSTL中的一些標(biāo)簽更多的是對頁面流程的控制......所以二者結(jié)合起來就實(shí)現(xiàn)了取值和顯示值的效果,以實(shí)現(xiàn)了Servlet和JSP頁面顯示的綜合運(yùn)用………..最終實(shí)現(xiàn)網(wǎng)站的控制和現(xiàn)實(shí)流程;
好了,到今天為止,JSP課程的一小部分已講完了....更多的問題和技術(shù)上的交流,請?jiān)诒救说腝Q:458563488或者269957018留言就可以了….謝謝各位耐心的訪問和閱讀我博客上面的文章..希望和以技術(shù)交流為目的而來的訪客成為筆友…共同努力,一起進(jìn)步;
本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊舉報(bào)。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
JSP--JSTL標(biāo)簽庫舉例 詳解
用ognl還是jstl+el?
JSTL詳解
JSTL使用 - - JavaEye技術(shù)網(wǎng)站
JSTL SQL標(biāo)簽庫 使用
JSTL標(biāo)簽詳細(xì)教程之
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服