你的位置:创意公社- ideaer >> >> 程序开发 >> 详细内容 在线投稿

JSP语法基础2——Scriptlet、Page指令和Taglib指令

排行榜 打印 发给朋友 举报 发布者:lw0662
热度320票  浏览120次 【共0条评论】【我要评论 时间:2010年4月28日 06:24
创意公社- ideaer z#Hw/ZK6K'\~

一、Scriptlet创意公社- ideaer~"HG&}MIW$\(Z
Scriptlet是一个包含多个jsp语句,方法,变量,表达式的有效程序段
u7N*R ze q9M1JSP 语法
UIa9\YW,v1<% 代码段 %> 创意公社- ideaer&x*P9U ]-u\X#X*A
例子创意公社- ideaer3lPM |o1A9to
<%
J/G@p ~ G1String name = null;
4t:s-Z,d;K&t:pj1if (request.getParameter("name") == null) { 创意公社- ideaerk0WJX5^;k,m1Z8m
%> 创意公社- ideaer`ua!u6@h
<%@ include file="error.html" %> 创意公社- ideaerX1e-F+W)s"L4\
<%
h^ k:L'XB&t2c$C'c1} else { 创意公社- ideaerbwUXH5Ll
foo.setName(request.getParameter("name"));
m/W[V/W"A@e1if (foo.getName().equalsIgnoreCase("integra")) 创意公社- ideaer{)PkD*U6wY
name = "acura";
5QR}`X$u1if (name.equalsIgnoreCase( "acura" )) { 创意公社- ideaer:y9qUs7Y m(nbu'P8F
%>

*i h#Cksz t T1描述创意公社- ideaerb1H0@ `4s[7A-g
创意公社- ideaer`;Cd5E{%o2e
一个scriptlet能够包含多个jsp语句,方法,变量,表达式 创意公社- ideaer{;P&ePp$gO
创意公社- ideaer1o+veas
因为scriptlet,我们便能做以下的事:
(Eu+RC2slbv Wk1
*a;`/| {6B0Q!@r"N1声明将要用到的变量或方法(参考 声明).
gB7g'p;M dx%~&[i1编写JSP表达式(参考 表达式).
(OR3rm5z,X`8HtT1使用任何隐含的对象和任何用声明过的对象
sl1q%u O{4Yf1编写JSP语句 (如果你在使用Java语言,这些语句必须遵从Java Language Specification,). 创意公社- ideaerdbN)Pa7bw
任何文本,HTML标记,JSP元素必须在scriptlet之外
*O,\n#N:e~6oV,o1当JSP收到客户的请求时,scriptlet就会被执行,如果scriptlet有显示的内容,这些显示的内容就被存在out对象中。创意公社- ideaers;\2my^k*|-Z
创意公社- ideaera%Yd Y r2lz1N
-----------------------------------------------创意公社- ideaerFh8PN8|9e

/o g.JR4i1二、Page 指令 创意公社- ideaerG5U4Tt%k_)@D!Ed
定义JSP文件中的全局属性. 创意公社- ideaer,Q:E\S wIH

cx-Mc9M(Q|1JSP 语法创意公社- ideaer \$J]xo_
<%@ page 创意公社- ideaero(t;W M8C}2z4Z
[ language="java" ]
Q)qh+C*Bn1[ extends="package.class" ]
E[.L$m u J0|0p$Wx1[ import="{package.class | package.*}, ..." ] 创意公社- ideaer|o,{ sN)?Ri$w}j
[ session="true | false" ]
a&h_0{K,L/h$Ls%h6P1[ buffer="none | 8kb | sizekb" ] 创意公社- ideaer mJwje#M+]$f A w??9e
[ autoFlush="true | false" ]
}#T*X2{0B9s_ |1[ isThreadSafe="true | false" ] 创意公社- ideaer1D9E)Y { \'t!Jj
[ info="text" ] 创意公社- ideaer mU3Ga7j Y$Ug!G
[ errorPage="relativeURL" ] 创意公社- ideaer |+{FAK2g
[ contentType="mimeType [ ;charset=characterSet ]" | "text/html ; charset=ISO-8859-1" ] 创意公社- ideaerI U!rJ7P
[ isErrorPage="true | false" ] 创意公社- ideaer|;}1rF1w4Ji
%>

#y3@${lYwt%[+q1例子创意公社- ideaer(O(n!q)g];?$X"\h
<%@ page import="java.util.*, java.lang.*" %> 创意公社- ideaer%} nl+t1vI _9u
<%@ page buffer="5kb" autoFlush="false" %> 创意公社- ideaerq!p:SY+x&S M Y
<%@ page errorPage="error.jsp" %>

x9wc\3gK(k1描述创意公社- ideaer&oT$l Bb%k"}6W
<%@ page %>指令作用于整个JSP页面,同样包括静态的包含文件。但是<% @ page %>指令不能作用于动态的包含文件,比如
$f'fmI'Ulr!C_H1
Qw s0XdEBP1你可以在一个页面中用上多个<% @ page %>指令,但是其中的属性只能用一次,不过也有个例外,那就是import属性。因为import属性和Java中的import语句差不多(参照Java Language),所以你就能多用此属性几次了.
`djZ X:TqB$d+H1创意公社- ideaerQ8AQl\ e
无论你把<% @ page %>指令放在JSP的文件的哪个地方,它的作用范围都是整个JSP页面。不过,为了JSP程序的可读性,以及好的编程习惯,最好还是把它放在JSP文件的顶部.
%I d+p%X.PP/x Mp1
"u#UU C(gH&S1----------------------------------------------创意公社- ideaer~~6C{J G(b
三、Taglib 指令 创意公社- ideaera!CW$S,_7R2Z
定义一个标签库以及其自定义标签的前缀. 创意公社- ideaer!l3I*? rV9Y@$U!D

XWM"L5w.w&x|1JSP 语法创意公社- ideaer.E^3qS1A2x
<%@ taglib uri="URIToTagLibrary" prefix="tagPrefix" %> 创意公社- ideaer8fjG3v'~*r
例子创意公社- ideaer)AF+D5sa ^Qub n5k
<%@ taglib uri="http://www.jspcentral.com/tags" prefix="public" %> 创意公社- ideaern!V(D~o/F+F*^o7s3C

s3b-[/NHk1. 创意公社- ideaer.nZ u:@R7d q;{7S#]#e
.
*FpT a B XHk1
创意公社- ideaer9?f0])gU8K-jb
创意公社- ideaer`M*`7S7f+O5r|,Z(T1f
描述
Ic:wkXi1
E _!g(AT}x1<% @ taglib %>指令声明此JSP文件使用了自定义的标签,同时引用标签库,也指定了他们的标签的前缀。
"x9O*G[ED)|1
WLRhtLi2_1这里自定义的标签含有标签和元素之分。因为JSP文件能够转化为XML,所以了解标签和元素之间的联系很重要。标签只不过是一个在意义上被抬高了点的标记,是JSP元素的一部分。JSP元素是JSP语法的一部分,和XML一样有开始标记和结束标记。元素也可以包含其它的文本,标记,元素。比如,一个jsp:plugin元素有开始标记和结束标记,同样也可以有元素.
itQ/H6z1js/m1
En2]A tPjl1你必须在使用自定义标签之前使用<% @ taglib %>指令,而且你可以在一个页面中多次使用,但是前缀只能使用一次 创意公社- ideaer!VDM#K/O;P"UZ#aV
创意公社- ideaern"V P'K)? d
属性
djP3cW(M1
{Q[o|-G1uri=”URIToTagLibrary”
)g/[7jo0P-E1Uniform Resource Identifier (URI)根据标签的前缀对自定义的标签进行唯一的命名,URI可以是以下的内容: 创意公社- ideaerR T9[V};_

6R W'E-J$jp1Uniform Resource Locator (URL), 由 RFC 2396 定义, 查看 http://www.hut.fi/u/jkorpela/rfc/2396/full.html
7eS9g$p*\9JubQj7M1 
Ao} K(L1Uniform Resource Name (URN), 由 RFC 2396定义创意公社- ideaer L| tR-o8H;y W[,f
  创意公社- ideaer%|#XC,s@-YE ?
一个相对或绝对的路径 创意公社- ideaerZ ~ e9vo
prefix=”tagPrefix”
S$nl2s9{p_1在自定义标签之前的前缀,比如,在 中的public,如果这里不写public,那么这就是不合法的。请不要用jsp, jspx, java, javax, servlet, sun, 和sunw做为你的前缀创意公社- ideaerH(_A{'f

顶:8 踩:39
对本文中的事件或人物打分:
当前平均分:-1.98 (99次打分)
对本篇资讯内容的质量打分:
当前平均分:-0.2 (51次打分)
【已经有123人表态】
46票
感动
9票
路过
11票
高兴
15票
难过
9票
搞笑
12票
愤怒
12票
无聊
9票
同情
上一篇 下一篇
发表评论
换一张

网友评论仅供网友表达个人看法,并不表明本网同意其观点或证实其描述。

查看全部回复【已有0位网友发表了看法】