鏍囩 | URI | 鍓嶇紑 | 紺轟緥 |
Core | http://java.sun.com/jstl/core | c | <c:tagname ...> |
XML processing | http://java.sun.com/jstl/xml | x | <x:tagname ...> |
I18N capable formatting | http://java.sun.com/jstl/fmt | fmt | <fmt:tagname ...> |
Database access (SQL) | http://java.sun.com/jstl/sql | sql | <sql:tagname ...> |
鎿嶄綔絎?/td> | 鎻忚堪 |
==鎴杄q | 鐩哥瓑媯鏌?/td> |
!=鎴杗e | 涓嶇瓑媯鏌?/td> |
<鎴杔t | 灝忎簬媯鏌?/td> |
>鎴杇t | 澶т簬媯鏌?/td> |
<=鎴杔e | 灝忎簬絳変簬媯鏌?/td> |
>=鎴杇e | 澶т簬絳変簬媯鏌?/td> |
灞?鎬?/td> | 鎻?榪?/td> | 鏄惁蹇呴』 | 緙虹渷鍊?/td> |
value | 杈撳嚭鐨勪俊鎭紝鍙互鏄疎L琛ㄨ揪寮忔垨甯擱噺 | 鏄?/td> | 鏃?/td> |
default | value涓虹┖鏃舵樉紺轟俊鎭?/td> | 鍚?/td> | 鏃?/td> |
escapeXml | 涓簍rue鍒欓伩寮鐗規畩鐨剎ml瀛楃闆?/td> | 鍚?/td> | true |
鎮ㄧ殑鐢ㄦ埛鍚嶆槸: <c:out value=鈥?{user.username}鈥?default=鈥漡uest鈥?> |
<c:out value="${sessionScope.username}"/> |
<c:out value="${username}" /> |
灞?鎬?/td> | 鎻?榪?/td> | 鏄惁蹇呴』 | 緙虹渷鍊?/td> |
value | 瑕佷繚瀛樼殑淇℃伅錛屽彲浠ユ槸EL琛ㄨ揪寮忔垨甯擱噺 | 鍚?/td> | |
target | 闇瑕佷慨鏀瑰睘鎬х殑鍙橀噺鍚嶏紝涓鑸負javabean鐨勫疄渚?/td> | 鍚?/td> | 鏃?/td> |
property | 闇瑕佷慨鏀圭殑javabean灞炴?/td> | 鍚?/td> | 鏃?/td> |
var | 闇瑕佷繚瀛樹俊鎭殑鍙橀噺 | 鍚?/td> | 鏃?/td> |
scope | 淇濆瓨淇℃伅鐨勫彉閲忕殑鑼冨洿 | 鍚?/td> | page |
<c:set value="${test.testinfo}" var="test2" scope=鈥漵ession鈥?/> |
<c:set target="${cust.address}" property="city" value="${city}"/> |
灞?鎬?/td> | 鎻?榪?/td> | 鏄惁蹇呴』 | 緙虹渷鍊?/td> |
var | 瑕佸垹闄ょ殑鍙橀噺 | 鏄?/td> | 鏃?/td> |
scope | 琚垹闄ゅ彉閲忕殑鑼冨洿 | 鍚?/td> | 鎵鏈夎寖鍥達紝鍖呮嫭page銆乺equest銆乻ession銆乤pplication絳?/td> |
<c:remove var="test2" scope="session"/> |
灞?鎬?/td> | 鎻?榪?/td> | 鏄惁蹇呴』 | 緙虹渷鍊?/td> |
test | 闇瑕佽瘎浠風殑鏉′歡錛岀浉褰撲簬if (...){}璇彞涓殑鏉′歡 | 鏄?/td> | 鏃?/td> |
var | 瑕佹眰淇濆瓨鏉′歡緇撴灉鐨勫彉閲忓悕 | 鍚?/td> | 鏃?/td> |
scope | 淇濆瓨鏉′歡緇撴灉鐨勫彉閲忚寖鍥?/td> | 鍚?/td> | page |
灞?鎬?/td> | 鎻?榪?/td> | 鏄惁蹇呴』 | 緙虹渷鍊?/td> |
test | 闇瑕佽瘎浠風殑鏉′歡 | 鏄?/td> | 鏃?/td> |
<c:if test="${user.wealthy}"> user.wealthy is true. </c:if> |
<c:choose> <c:when test="${user.generous}"> user.generous銆is true. </c:when> <c:when test="${user.stingy}"> user.stingy is true. </c:when> <c:otherwise> user.generous and user.stingy are false. </c:otherwise> </c:choose> |
灞?鎬?/td> | 鎻?榪?/td> | 鏄惁蹇呴』 | 緙虹渷鍊?/td> |
items | 榪涜寰幆鐨勯」鐩?/td> | 鍚?/td> | 鏃?/td> |
begin | 寮濮嬫潯浠?/td> | 鍚?/td> | 0 |
end | 緇撴潫鏉′歡 | 鍚?/td> | 闆嗗悎涓殑鏈鍚庝竴涓」鐩?/td> |
step | 姝ラ暱 | 鍚?/td> | 1 |
var | 浠h〃褰撳墠欏圭洰鐨勫彉閲忓悕 | 鍚?/td> | 鏃?/td> |
varStatus | 鏄劇ず寰幆鐘舵佺殑鍙橀噺 | 鍚?/td> | 鏃?/td> |
<c:forEach items="${vectors}" var="vector"> <c:out value="${vector}"/> </c:forEach> |
for (int i=0;i<vectors.size();i++) { out.println(vectors.get(i)); } |
<c:forEach begin="0" end="100" var="i" step="1"> count=<c:out value="${i}"/><br> </c:forEach> |
灞?鎬?/td> | 鎻?榪?/td> | 鏄惁蹇呴』 | 緙虹渷鍊?/td> |
items | 榪涜寰幆鐨勯」鐩?/td> | 鏄?/td> | 鏃?/td> |
delims | 鍒嗗壊絎?/td> | 鏄?/td> | 鏃?/td> |
begin | 寮濮嬫潯浠?/td> | 鍚?/td> | 0 |
end | 緇撴潫鏉′歡 | 鍚?/td> | 闆嗗悎涓殑鏈鍚庝竴涓」鐩?/td> |
step | 姝ラ暱 | 鍚?/td> | 1 |
var | 浠h〃褰撳墠欏圭洰鐨勫彉閲忓悕 | 鍚?/td> | 鏃?/td> |
varStatus | 鏄劇ず寰幆鐘舵佺殑鍙橀噺 | 鍚?/td> | 鏃?/td> |
<c:forTokens items="a:b:c:d" delims=":" var="token"> <c:out value="${token}"/> </c:forTokens> |
灞?鎬?/td> | 鎻?榪?/td> | 鏄惁蹇呴』 | 緙虹渷鍊?/td> |
url | 闇瑕佸鍏ラ〉闈㈢殑url | 鏄?/td> | 鏃?/td> |
context | /鍚庤窡鏈湴web搴旂敤紼嬪簭鐨勫悕瀛?/td> | 鍚?/td> | 褰撳墠搴旂敤紼嬪簭 |
charEncoding | 鐢ㄤ簬瀵煎叆鏁版嵁鐨勫瓧絎﹂泦 | 鍚?/td> | ISO-8859-1 |
var | 鎺ュ彈瀵煎叆鏂囨湰鐨勫彉閲忓悕 | 鍚?/td> | page |
scope | 鎺ュ彈瀵煎叆鏂囨湰鐨勫彉閲忕殑鍙橀噺鑼冨洿 | 鍚?/td> | 1 |
varReader | 鐢ㄤ簬鎺ュ彈瀵煎叆鏂囨湰鐨刯ava.io.Reader鍙橀噺鍚?/td> | 鍚?/td> | 鏃?/td> |
varStatus | 鏄劇ず寰幆鐘舵佺殑鍙橀噺 | 鍚?/td> | 鏃?/td> |
灞?鎬?/td> | 鎻?榪?/td> | 鏄惁蹇呴』 | 緙虹渷鍊?/td> |
url | url鍦板潃 | 鏄?/td> | 鏃?/td> |
context | /鍚庤窡鏈湴web搴旂敤紼嬪簭鐨勫悕瀛?/td> | 鍚?/td> | 褰撳墠搴旂敤紼嬪簭 |
charEncoding | 鐢ㄤ簬瀵煎叆鏁版嵁鐨勫瓧絎﹂泦 | 鍚?/td> | ISO-8859-1 |
var | 鎺ュ彈澶勭悊榪囩殑url鍙橀噺鍚嶏紝璇ュ彉閲忓瓨鍌╱rl | 鍚?/td> | 杈撳嚭鍒伴〉 |
scope | 瀛樺偍url鐨勫彉閲忓悕鐨勫彉閲忚寖鍥?/td> | 鍚?/td> | page |
<c:import url="http://www.url.com/edit.js" var="newsfeed"/> |
<a href="<c:url url="/index.jsp"/>"/> |
灞?鎬?/td> | 鎻?榪?/td> | 鏄惁蹇呴』 | 緙虹渷鍊?/td> |
url | url鍦板潃 | 鏄?/td> | 鏃?/td> |
context | /鍚庤窡鏈湴web搴旂敤紼嬪簭鐨勫悕瀛?/td> | 鍚?/td> | 褰撳墠搴旂敤紼嬪簭 |
<c:redirect url="http://www.yourname.com/login.jsp"/> |
灞?鎬?/td> | 鎻?榪?/td> | 鏄惁蹇呴』 | 緙虹渷鍊?/td> |
name | 鍦╮equest鍙傛暟涓緗殑鍙橀噺鍚?/td> | 鏄?/td> | 鏃?/td> |
value | 鍦╮equest鍙傛暟涓緗殑鍙橀噺鍊?/td> | 鍚?/td> | 鏃?/td> |
<c:redirect url="login.jsp"> <c:param name="id" value="888"/> </c:redirect> |
2.鍑嗗web寮鍙戠洰褰?br />聽聽 姣斿鎴戠殑web鐩綍涓篽:\webapp\myweb\(褰撶劧鍙互鎶婁綘鐨剋eb搴旂敤鏀懼湪%tomcat_home%\webapps\)錛岀О涓哄伐浣滅洰褰昗orking folder,鍦ㄥ伐浣滅洰褰昲:\webapp\myweb\涓嬪緩绔媁EB-INF\lib,WEB-INF\classes
3.鎷瘋礉.jar鏂囦歡
聽聽 灝唈akarta-taglibs-standard-1.1.1\lib\涓嬬殑涓や釜jar鏂囦歡錛歴tandard.jar鍜宩stl.jar鏂囦歡鎷瘋礉鍒癨WEB-INF\lib\涓?/p>
4.鎷瘋礉.tld鏂囦歡
聽灝唈akarta-taglibs-standard-1.1.1\tld\涓嬬殑8涓猼ld綾誨瀷鏂囦歡鎷峰埌"Working folder\WEB-INF\"涓?/p>
5.鍦╘WEB-INF\涓嬪緩绔媤eb.xml鏂囦歡錛?br />聽 <?xml version="1.0" encoding="ISO-8859-1"?>
<web-app 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/j2eehttp://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
聽聽聽 version="2.4">
聽
聽 <taglib>
聽聽聽 <taglib-uri>http://java.sun.com/jstl/fmt</taglib-uri>
聽聽聽 <taglib-location>/WEB-INF/fmt.tld</taglib-location>
</taglib>
<taglib>
聽聽聽 <taglib-uri>http://java.sun.com/jstl/fmt-rt</taglib-uri>
聽聽聽 <taglib-location>/WEB-INF/fmt-rt.tld</taglib-location>
</taglib>
<taglib>
聽聽聽 <taglib-uri>http://java.sun.com/jstl/core</taglib-uri>
聽聽聽 <taglib-location>/WEB-INF/c.tld</taglib-location>
</taglib>
<taglib>
聽聽聽 <taglib-uri>http://java.sun.com/jstl/core-rt</taglib-uri>
聽聽聽 <taglib-location>/WEB-INF/c-rt.tld</taglib-location>
</taglib>
<taglib>
聽聽聽 <taglib-uri>http://java.sun.com/jstl/sql</taglib-uri>
聽聽聽 <taglib-location>/WEB-INF/sql.tld</taglib-location>
</taglib>
<taglib>
聽聽聽 <taglib-uri>http://java.sun.com/jstl/sql-rt</taglib-uri>
聽聽聽 <taglib-location>/WEB-INF/sql-rt.tld</taglib-location>
</taglib>
<taglib>
聽聽聽 <taglib-uri>http://java.sun.com/jstl/x</taglib-uri>
聽聽聽 <taglib-location>/WEB-INF/x.tld</taglib-location>
</taglib>
<taglib>
聽聽聽 <taglib-uri>http://java.sun.com/jstl/x-rt</taglib-uri>
聽聽聽 <taglib-location>/WEB-INF/x-rt.tld</taglib-location>
</taglib>
</web-app>
6.寤虹珛涓涓悕涓簍est.jsp鏂囦歡
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<%@ page contentType="text/html;charset=GB2312" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jstl/core"%>
<html>
<head>
<title>嫻嬭瘯浣犵殑絎竴涓嬌鐢ㄥ埌JSTL 鐨勭綉欏?lt;/title>
</head>
<body>
<c:out value="嬈㈣繋嫻嬭瘯浣犵殑絎竴涓嬌鐢ㄥ埌JSTL 鐨勭綉欏?/>
</br>浣犱嬌鐢ㄧ殑嫻忚鍣ㄦ槸錛?lt;/br>
<c:out value="${header['User-Agent']}"/>
<c:set var="a" value="David O'Davies" />
<c:out value="David O'Davies" escapeXml="true"/>
</body>
</html>
7.寮鍚痶omcat,榪涜璋冭瘯錛岃緭鍑虹粨鏋滄槸
嬈㈣繋嫻嬭瘯浣犵殑絎竴涓嬌鐢ㄥ埌JSTL 鐨勭綉欏?
浣犱嬌鐢ㄧ殑嫻忚鍣ㄦ槸錛?br />Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0) David O'Davies
娉細濡傛灉浣犵殑tld鏂囦歡涓暟涓?5涓紝鍦ㄤ笂闈㈢殑web.xml涓?font color="#000080"><taglib-location>涓洿鏀廣?br />
浣犵殑欏甸潰搴旇浼氬寘鍚涓嬩唬鐮侊細
<%@ taglib uri="<%@ taglib uri="<%@ taglib uri="榪欐槸鏈鏂扮増鐨刯stl 1.1璺緞錛岃屽鏋滀綘浣跨敤鐨勬槸鏃х増1.0鐨勫垯闇瑕佹妸璺緞涓殑jsp鍘繪帀錛屽涓嬶細
<%@ taglib uri="<%@ taglib uri="<%@ taglib uri="
聽聽聽聽BufferedReader in = new BufferedReader(fr);
聽聽聽聽String s = "";
聽聽聽聽while ((s = in.readLine()) != null) {
聽聽聽聽聽str += s;
聽聽聽聽聽str += "\n";
聽聽聽聽}
聽聽聽聽in.close();
聽聽聽聽fr.close();
聽聽聽} else {
聽聽聽聽System.out.println("can not find the file");
聽聽聽聽return "can not find the file";
聽聽聽}
聽聽聽return str;
聽聽} catch (Exception e) {
聽聽聽System.out.println("澶嶅埗鍗曚釜鏂囦歡鎿嶄綔鍑洪敊");
聽聽聽e.printStackTrace();
聽聽聽return "can not find the file";
聽聽}
聽}
聽 1. /**
聽 * 瀛楃涓叉浛鎹㈠嚱鏁?br />聽 * @param from 瑕佹浛鎹㈢殑瀛楃
聽 * @param to 瑕佹浛鎹㈡垚鐨勭洰鏍囧瓧絎?br />聽 * @param source 瑕佹浛鎹㈢殑瀛楃涓?br />聽 * @return 鏇挎崲鍚庣殑瀛楃涓?br />聽 */
聽 import java.util.StringTokenizer;
聽 public String str_replace(String from,String to,String source) {
聽聽聽 StringBuffer bf= new StringBuffer("");
聽聽聽 StringTokenizer st = new StringTokenizer(source,from,true);
聽聽聽 while (st.hasMoreTokens()) {
聽聽聽聽聽 String tmp = st.nextToken();
聽聽聽聽聽 if(tmp.equals(from)) {
聽聽聽聽聽聽聽 bf.append(to);
聽聽聽聽聽 } else {
聽聽聽聽聽聽聽 bf.append(tmp);
聽聽聽聽聽 }
聽聽聽 }
聽聽聽 return bf.toString();
聽 }
2. /*
聽*瀛楃涓叉浛鎹㈠嚱鏁?鍙︿竴縐嶆柟娉曠殑瀹炵幇
聽*/
聽 public String str_replace2(String con ,String tag,String rep){
聽聽聽 int j=0;
聽聽聽 int i=0;
聽聽聽 int k=0;
聽聽聽 String RETU="";
聽聽聽 String temp =con;
聽聽聽 int tagc =tag.length();
聽聽聽 while(i<con.length()){
聽聽聽聽聽 if(con.substring(i).startsWith(tag)){
聽聽聽聽聽聽聽 temp =con.substring(j,i)+rep;
聽聽聽聽聽聽聽 RETU+= temp;
聽聽聽聽聽聽聽 i+=tagc;
聽聽聽聽聽聽聽 j=i;
聽聽聽聽聽 }else{
聽聽聽聽聽聽聽 i+=1;
聽聽聽聽聽 }
聽聽聽 }
聽聽聽 RETU +=con.substring(j);
聽聽聽 return RETU;
聽 }聽聽
3.
聽 public static String replace(String strSource, String strFrom, String strTo) {
聽聽聽 顥鱉棻if(strFrom == null || strFrom.equals(""))
聽聽聽聽聽 顥鱉棻顥鱉棻return strSource;
聽聽聽 顥鱉棻String strDest = "";
聽聽聽 顥鱉棻int intFromLen = strFrom.length();
聽聽聽 顥鱉棻int intPos;
聽聽聽 顥鱉棻while((intPos = strSource.indexOf(strFrom)) != -1) {
聽聽聽聽聽 顥鱉棻顥鱉棻strDest = strDest + strSource.substring(0,intPos);
聽聽聽聽聽 顥鱉棻顥鱉棻strDest = strDest + strTo;
聽聽聽聽聽 顥鱉棻顥鱉棻strSource = strSource.substring(intPos + intFromLen);顥鱉棻
聽聽聽 }顥?br />聽聽聽 顥眘trDest = strDest + strSource;顥?br />聽聽聽聽聽 顥眗eturn strDest;
聽 }
4.楂樻晥鏇挎崲紼嬪簭銆?/p>
聽 public static String replace(String strSource, String strFrom, String strTo) {聽聽聽
聽聽聽 if (strSource == null) {聽聽聽聽聽聽聽
聽聽聽聽聽 return null;聽聽聽
聽聽聽 }聽
聽聽聽 int i = 0;
聽聽聽 if ((i = strSource.indexOf(strFrom, i)) >= 0) {
聽聽聽聽聽 char[] cSrc = strSource.toCharArray();
聽聽聽聽聽 char[] cTo = strTo.toCharArray();
聽聽聽聽聽 int len = strFrom.length();聽
聽聽聽聽聽 StringBuffer buf = new StringBuffer(cSrc.length);聽
聽聽聽聽聽 buf.append(cSrc, 0, i).append(cTo);
聽聽聽聽聽 i += len;聽聽聽
聽聽聽聽聽 int j = i;聽聽聽聽聽聽
聽聽聽聽聽 while ((i = strSource.indexOf(strFrom, i)) > 0) {聽
聽聽聽聽聽聽聽 buf.append(cSrc, j, i - j).append(cTo);聽聽
聽聽聽聽聽聽聽 i += len;聽
聽聽聽聽聽聽聽 j = i;聽聽聽聽聽聽聽
聽聽聽聽聽 }聽聽聽聽聽聽聽
聽聽聽聽聽 buf.append(cSrc, j, cSrc.length - j);
聽聽聽聽聽 return buf.toString();
聽聽聽 }
聽聽聽 return strSource;
聽 }
聽聽聽聽聽聽聽聽聽 public String viewImages() {
聽聽聽聽聽聽聽聽聽聽聽聽聽聽 DBControl cnn = new DBControl();
聽聽聽聽聽聽聽聽聽聽聽聽聽聽 StringBuffer strsql = new StringBuffer();
聽聽聽聽聽聽聽聽聽聽聽聽聽聽 int rowCount = 2;
聽聽聽聽聽聽聽聽聽聽聽聽聽聽 int columnCount = 2;
聽聽聽聽聽聽聽聽聽聽聽聽聽 try {
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 String sqlstring = "select pic_url from imagepic";
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 String sqllist = "select * from (" + sqlstring + ") where rownum <=" + (rowCount * columnCount);
聽聽
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 RowSet rss = cnn.rsRowset(sqllist);
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 if (rss.next()) {
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 for (int i = 1; i <= 2; i++) {
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 strsql.append("<tr>");
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 for (int j = 1; j <= 2; j++) {
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 if (rss.isAfterLast()) {
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 strsql.append("<td></td>");
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 } else {
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 strsql.append("<td>");
聽聽聽聽聽
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 strsql .append("<img src='../..").append(rss.getString("pic_url")) .append( " 'width='80' height='60' border='0' />");
聽聽聽聽聽聽聽聽聽聽聽聽
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 strsql.append("</td>");
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 rss.next();
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 }
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 }
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 strsql.append("</tr>");
聽聽聽聽聽聽聽聽聽聽聽聽聽聽 }
聽聽聽聽聽聽聽 }
聽聽聽聽聽聽聽聽聽聽聽 rss.close();
聽聽聽聽聽聽聽 } catch (Exception e) {
聽聽聽聽聽聽聽 }
聽聽聽聽聽聽 return strsql.toString();
聽}