夢與橋java之家
posts - 37, comments - 8, trackbacks - 0, articles - 0
導航
BlogJava
首頁
新隨筆
聯系
聚合
管理
<
2008年10月
>
日
一
二
三
四
五
六
28
29
30
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
1
2
3
4
5
6
7
8
常用鏈接
我的隨筆
我的評論
我的參與
最新評論
留言簿
(2)
給我留言
查看公開留言
查看私人留言
隨筆分類
javascript(1)
java與模式(1)
java基礎(15)
jsp程序設計(18)
好文轉載
隨筆檔案
2008年10月 (16)
2008年8月 (21)
我的友情鏈接
平板電腦什么牌子好
平板電腦小八義成立于2011年9月,致力于推薦便宜又好的平板電腦,讓對平板電腦有需求的用戶花最少的錢,買到最合適的平板電腦。以臺電、昂達、原道、藍魔為代表國產平板系,以良好的性價比、低廉的價格、不錯的性能在市場上有很好的表現。平板電腦小八義網站以臺電、藍魔等八個品牌的產品介紹、推薦、評價,輻射更多便宜又好的平板電腦,以求讓用戶買到物美價廉并能滿足自己需要的平板產品。無論現在還是未來,平板電腦小八義都將與市場共同成長,一如既往地為用戶服務,做出優秀的推薦。
搜索
最新評論
1.?re: request之請求轉發
…………
我以為這是代碼測試的
2了
--46456
2.?re: request之請求轉發
456465
--46456
3.?re: java基礎:高級GUI組件之樹
好久沒來這兒了,大家還好嗎/
--夢與橋
4.?re: java基礎:高級GUI組件之樹
如果collapserow后面的參數變成其他的 象2或者3等 會有什么區別??
--解秀偉
5.?re: jsp程序設計:JavaMail
你好~~有需要你的例子,麻煩寄給我下~
yemingye@tom.com
--yz
閱讀排行榜
1.?java基礎:關于java流與文件操作(11218)
2.?request之請求轉發(7164)
3.?jsp程序設計:jstl之JSTL標簽庫(上)(2680)
4.?jsp程序設計:jstl之JSTL標簽庫(中)(2093)
5.?JSP中數據庫的一些操作(2018)
評論排行榜
1.?jsp程序設計:JavaMail(2)
2.?java基礎:高級GUI組件之樹(2)
3.?request之請求轉發(2)
4.?jsp程序設計:servlet(1)
5.?java基礎:關于線程(1)
jsp程序設計:jstl之JSTL標簽庫(上)
Posted on 2008-10-26 09:44
夢與橋
閱讀(2680)
評論(0)
編輯
收藏
所屬分類:
jsp程序設計
1、JSTL標簽庫概述:
JSTL通常被認為是一種單標簽庫。但JSTL實際上有4個標簽庫。這些標簽庫被概括為如下:
§核心標簽庫—包含一些Web應用的必要的標簽。核心標簽庫的實例包括循環,表達式賦值和基本輸入輸出。.
§格式化/國際化標簽庫—包括被用來解析數據的標簽庫。這種標簽會解析數據,比如日期,不同的場所區域等。
§數據庫標簽庫—包含被用來訪問SQL數據庫的標簽。這些標簽通常僅僅只創建原形(prototype)程序。這個是因為大多數程序不會直接從JSP頁面中來處理數據庫訪問。數據庫訪問應該被嵌入到能夠被JSP頁面所訪問的EJB中。
§XML標簽庫—包含被用來訪問XML元素的標簽。因為XML廣泛使用于Web開發,XML的處理是JSTL的一個重要的特征。
2、安裝使用JSTL1.1
JSTL1.1支持Servlet2.4且是JSP2.0以上版本的容器中,可以到
這兒下載jakarta-taglibs-standard-1.1.2.zip
,解壓后將lib目錄中的jstl.jar、standard.jar復制到當前Web應用的“WEB-INF/lib”中,最好同時把tld文件的目錄也復制到WEB-INF中,方便日后使用。
3、核心標簽庫,包含通用標簽、條件標簽、迭代標簽、URL標簽
通用標簽用于操作JSP頁面創建存儲在隱式對象中的變量;條件標簽用于對JSP頁面中的代碼進行條件判斷和處理;迭代標簽用于循環遍歷一個對象的集合;URL標簽用于控制頁面的跳轉動作。
要在JSP頁面中使用核心標簽庫,首先需要導入核心標簽的URI:
<%
taglib uri
=
"
http://java.sun.com/jstl/core
"
prefix
=
"
c
"
%>
1)通用標簽(輸入輸出):<c:set>、<c:out>、<c:remove>
§<c:set>標簽主要用來將變量儲存至JSP隱式對象中或JavaBean的 屬性中,其語法為:
語法一:將value的值儲存至范圍為scope的VarName變量之中:
<
c:set
value
="value"
var
="varName"
[scope
="{page|request|session|application}"]
/>
語法二:將本體內容儲存至范圍為scope的VarName變量之中:
<
c:set
var
="varName"
[scope
="{page|request|session|application}]"
>
本體內容
</
c:set
>
value:要被儲存的值
var:欲存入的變量名稱
scope:指定變量的JSP范圍
§<c:out>w標簽主要用來顯示數據的內容,就像<%=JSP表達式%>一樣,其語法為:
語法一:沒有本體(body)內容:
<
c:out
value
="value"
[escapeXml
="{true|false}"
[default
="defaultValue"
]
/>
語法二:有本體內容:
<
c:out
value
="value"
[escapeXml
="{true|false}"
/>
defaultValue
</
c:out
>
value:需要顯示出來的值。
Default:如果value的值為null,則顯示default的值。
escapeXml:是否轉換特殊字符,如:
<
轉換成<
;。
§<c:remove>標簽主要用來移除變量,其語法為:
<
c:remove
var
="varname"
[scope
="{page|request|session|application}"
]
/>
var:欲移除的變量名稱。
scope:var變量的JSP范圍。
2)通用標簽使用演示:
<%
@ page contentType
=
"
text/html;charset=gbk
"
%>
<%
@ taglib uri
=
"
http://java.sun.com/jsp/jstl/core
"
prefix
=
"
c
"
%>
<
c:set
value
="hello"
var
="sessionvar1"
scope
="session"
/>
<
c:set
var
="sessionvar2"
scope
="session"
>
world!
</
c:set
>
存儲后顯示:
<
br
>
<
c:out
value
="${sessionScope.sessionvar1}"
/>
<
c:out
value
="${sessionScope.sessionvar2}"
/><
br
>
<
c:remove
var
="sessionvar2"
scope
="session"
/>
刪除后顯示:
<
br
>
<
c:out
value
="${sessionScope.sessionvar1}"
/>
<
c:out
value
="${sessionScope.sessionvar2}"
/>
3)條件標簽:<c:if>、<c:choose>、<c:when>、<c:otherwise>等。
§<c:if>標簽用于有條件地執行代碼,如果test屬性的值為true,則會執行<c:if>標簽的標簽體。這是一個容器標簽,其語法為:
語法一:沒有標簽體內容(body):
<
c:if
test
="testCondition"
var
="varName"
[scope
="{page|request|session|application}"
]
/>
語法二:有標簽體內容:
<
c:if
test
="testCondition"
[var
="varName"
] [scope
="{page|request|session|application}"
]
>
</
c:if
>
test:如果表示的結果為true,則執行標簽體內容,false則相反。
var:用來存儲test運算后的結果,即true或false。
scope:變量的JSP范圍。
§<c:choose>標簽類似于java中的switch語句,它用于執行條件語句塊。
<
c:choose
>
本體內容(
<
when
>
和
<
otherwise
)
</c:choose
>
§<c:when>標簽的用途和switch語句中的case一樣。
§<c:otherwise>標簽,相當于switch語句中的default。
4)條件標簽演示:
<%
@ page contentType
=
"
text/html;charset=gbk
"
%>
<%
@ taglib uri
=
"
http://java.sun.com/jsp/jstl/core
"
prefix
=
"
c
"
%>
<%
int
i
=
(
int
)(Math.random()
*
10
);
pageContext.setAttribute(
"
signalStrength
"
,
new
Integer
(i));
%>
<
c:if
test
="${pageScope.signalStrength<5}"
var
="value1"
/>
<
c:if
test
="${pageScope.signalStrength>5}"
>
<
c:set
var
="value2"
value
="true"
scope
="page"
/>
</
c:if
>
<
c:choose
>
<
c:when
test
="${pageScope.value1 }"
>
產生的隨機數小于5.
</
c:when
>
<
c:when
test
="${pageScope.value2 }"
>
產生的隨機數大于5.
</
c:when
>
<
c:otherwise
>
產生的隨機數等于5.
</
c:otherwise
>
</
c:choose
>
5)迭代標簽:<c:forEach>標簽和<c:forTokens>標簽等。
§<c:forEach>標簽為循環控制,它可以將集合中的成員循序瀏覽一遍,動作方式為當條件符合時,就會重復執行<c:forEach>標簽的標簽體內容。
<
c:forEach
[var
="varName"
] items
="collection"
[varStatus
="varStatusName"
] [begin
="begin"
] [end
="end"
] [step
="step"
]
>
本體內容
</
c:forEach
>
語法二:迭代指定的次數:
<
c:forEach
[var
="varName"
] [varStatus
="varStatusName"
] begin
="begin"
end
="end"
[step
="step"
]
>
本體內容
</
c:forEach
>
var:用來存放當前指到的成員。
items:被迭代的集合對象(包括:Arrays、Collection、Iterator、Enumeration、Map)。
varStatus:用來存放當前指到的相關成員信息。
begin:開始的位置,若有,其值必須大于等于0.
end:結束的位置,默認值最后一個成員,若有,end必須大于begin。
step:每次迭代的間隔數,若有,必須大于等于0。
§<c:forTokens>標簽用來瀏覽一字符串中所有的成員,其成員是由定義符號(delimiters)所分隔的。使用語法如下:
<
c:forTokens
items
="stringOfTokens"
delimes
="delimiters"
[var
="varName"
] [varStatus
="varStatusName"
] [begin
="begin"
] [end
="end"
] [step
="step"
]
>
本體內容
</
c:forTokens
>
var:用來存放現在指到的成員。
items:被迭代的字符串。
delims:定義用來分割字符串的字符。
varStatus:用來存放現在指到的相關成員信息。
begin:開始的位置,若有,必須大于等于0.
end:結束的位置,若有必須大于begin。
step:每次迭代的間隔數,若有,step必須大于等于0.
6)迭代標簽演示:
<%
@ page contentType
=
"
text/html;charset=gbk
"
import
=
"
java.util.*
"
%>
<%
@ taglib uri
=
"
http://java.sun.com/jsp/jstl/core
"
prefix
=
"
c
"
%>
<%
String
[] fruits
=
{
"
蘋果
"
,
"
葡萄
"
,
"
雪梨
"
,
"
白桃
"
,
"
柿子
"
};
pageContext.setAttribute(
"
fruits
"
,fruits);
Vector books
=
new
Vector();
books.add(
"
《西游記》
"
);
books.add(
"
《水滸傳》
"
);
books.add(
"
《三國演義》
"
);
books.add(
"
《紅樓夢》
"
);
pageContext.setAttribute(
"
books
"
,books);
String
str
=
"
太陽、星星、月亮;地球|天空
"
;
pageContext.setAttribute(
"
str
"
,str);
%>
<
h3
>
數組迭代
</
h3
>
<
c:forEach
var
="fruit"
items
="${fruits}"
>
<
c:out
value
="${fruit}"
/>
</
c:forEach
>
<
h3
>
集合類迭代
</
h3
>
<
c:forEach
var
="book"
items
="${books}"
>
<
c:out
value
="${book}"
/>
</
c:forEach
>
<
h3
>
自變量循環
</
h3
>
<
c:forEach
var
="i"
begin
="1"
end
="10"
step
="2"
>
<
c:out
value
="${i}"
/>
</
c:forEach
>
<
h3
>
字符串分隔
</
h3
>
<
c:forTokens
items
="${str}"
delims
="、;|"
var
="substr"
>
<
c:out
value
="${substr}"
/>
</
c:forTokens
>
5)URL標簽,包括<c:import>、<c:redirect>和<c:url>等。
§<c:import>標簽可以把其他靜態或動態文件包含至本身JSP網頁。它和JSP動作指令<jsp:include>最大的差別在于:<jsp:include>只能包含和自己同一個WEB應用下的文件;而<c:import>除了能包含和自己同一人WEB應用的文件外,也可以包含不同WEB應用或者是其他網站的文件。其語法如下:
語法一:
<
c:import
url
="url"
[context]
="context"
[var
="varName"
] [scope
="{page|request|session|application}"
] [charEncoding
="charEncoding"
]
>
本體內容
</
c:import
>
語法二:
<
c:import
url
="url"
[context
="context"
] varReader
="varReader"
[charEncoding
="charEncoding"
]
>
本體內容
<
c:import
>
url:被包含文件的地址。
context:在相同web容器下,其他WEB應用必須以“/”開頭。
var:儲存被包含的文件內容(以String類型存入)。
scope:變量的JSP作用域。
charEncoding:被包含文件內容的編碼格式。
varReader:儲存被包含文件的內容。
例如:
<
c:import
url
="http://www.163.com"
/>
的功能就是用
<
c:import
>
把http://www.163.com的內容加到網頁中。
§<c:url>標簽主要用來產生一個URL。
語法一:沒有標簽體內容:
<
c:url
value
="value"
[context
="context"
] [var
="varName"
] [scope
="{page|request|session|application}"
]
/>
語法二:有標簽體內容,代表查詢字符串參數:
value:執行的URL。
context:在相同WEB容器下,其他WEB應用必須以“/”開頭。
var:儲存被包含文件的內容(以String類型存入)。
scope:變量的JSP作用域。
例如:
<
c:url
value
="http://dog.xiaonei.com/pet-profile.do"
>
<
c:param
name
="portal"
value
="homeFootprint"
/>
<
c:param
name
="id"
value
="233227104"
/>
</
c:url
>
會產生一個到達我的校內的狗狗的鏈接地址。
§<c:redirect>標簽可以將客戶端的請求從一個JSP網頁導向到其它文件。語法如下:
新用戶注冊
刷新評論列表
只有注冊用戶
登錄
后才能發表評論。
網站導航:
博客園
IT新聞
Chat2DB
C++博客
博問
管理
相關文章:
jsp程序設計:Web圖表開發之JavaReport組件
jsp程序設計:Web圖表開發之JFreeChart組件
jsp程序設計:jstl之JSTL標簽庫(下)
jsp程序設計:jstl之JSTL標簽庫(中)
jsp程序設計:jstl之JSTL標簽庫(上)
jsp程序設計:jstl之el
jsp程序設計:JavaMail
jsp程序設計:JDOM操作xml
jsp程序設計:DOM+SAX操作xml
jsp程序設計:分頁顯示數據
Powered by:
BlogJava
Copyright © 夢與橋
主站蜘蛛池模板:
色欲aⅴ亚洲情无码AV
|
久久狠狠爱亚洲综合影院
|
日韩精品无码免费视频
|
国产精品免费综合一区视频
|
亚洲乱码卡三乱码新区
|
亚洲免费一级视频
|
亚洲色av性色在线观无码
|
222www在线观看免费
|
亚洲第一成年网站大全亚洲
|
国产男女爽爽爽爽爽免费视频
|
亚洲国产精品成人久久蜜臀
|
亚洲色成人四虎在线观看
|
成人免费无毒在线观看网站
|
亚洲欧美黑人猛交群
|
免费一看一级毛片
|
国产免费伦精品一区二区三区
|
亚洲情XO亚洲色XO无码
|
日韩内射激情视频在线播放免费
|
亚洲喷奶水中文字幕电影
|
又黄又爽又成人免费视频
|
亚洲色大网站WWW永久网站
|
亚洲精品专区在线观看
|
嫩草在线视频www免费观看
|
亚洲欧洲精品在线
|
日本不卡视频免费
|
www在线观看免费视频
|
在线电影你懂的亚洲
|
岛国片在线免费观看
|
一级毛片免费视频网站
|
精品亚洲aⅴ在线观看
|
国外成人免费高清激情视频
|
人人爽人人爽人人片av免费
|
亚洲专区先锋影音
|
免费看香港一级毛片
|
最新久久免费视频
|
一本天堂ⅴ无码亚洲道久久
|
国产L精品国产亚洲区久久
|
日本免费xxxx
|
九九视频高清视频免费观看
|
亚洲一区二区在线免费观看
|
拔擦拔擦8x华人免费久久
|