指令元素:<%@dirrctivaName attrName=”attrValue”%>
<%@page ..%>页面指令
<%@page import=”…”%> 引入包 例:<%@page import=”java.util.*,ent.*”%>(可出现多次)
<%@page pageEncoding=”GBK”%>设定页面显示的字符集
<%@page contentType=”text/html;charset=GBK”%>设置输出流的编码方式和文件格式。
注意:输出的字符集编码方式要和页面显示的字符集相同,一般定义输出流的编码方式,注意以上两个页面指
令在JSP中最好只出现一次。注意在请求中传送的参数的值是中文的话需要调用请求request的
setCharacterEncoding(“..”)方法设置相应的编码方式,只适用于post请求,
也可以通过Servlet的Filter来进行中文编码方式的处理。
<%@page language=”java”%>指定JSP的脚本语言,现在只能写java
<%@page extends=”..”> 指定翻译后代码类型的父类,最好不要使用这个指令
<%@page session=”true|false”%>指定是否自动创建Session,最好不自己指定,使用默认值
<%@page buffer=”..” autoflush=”true|false”%>设置输出的缓存和是否自动刷新缓存,
一般情况下都使用默认值,缓存的默认值为8KB。
<%@page isThreadSafe=”true|false”%>是否线程安全,默认为true,也就是线程安全,只使用默认值。
<%@page info=”..”%>设置页面信息,一般不用
<%@page errorPage=”"%>指定异常处理页面
<%@page isErrorPage=”true|false”%>设定本页面就是异常后跳转的页面
<%@page isELIgnored=”true|false”%>设定本页面是否忽略JSP2.0种EL表达式
<%@taglib ..%> 标签库指令,用于引入自定义标签库
include指令:包含其他页面内容(静态包含) <%@include file=”"%>(在翻译阶段包含进来)
相对路径;
根据当前页面路径和被包含页面的路径进行计算
绝对路径
以“/”开始,后跟页面的路径
taglib指令:导入标签库 <%@taglib uri=”" prefix=”"%>
导入标签的目的(作用):在jsp页面中消除java代码
2)脚本元素(Scriplets):目的:嵌入java代码
a)声明(Declarations)
语法:<%! .. %> 作用:声明一些变量,方法内部类等等
b)表达式(Expressions) :使用表达式不加分号
语法:<%= .. %> 作用:输出数据到客户端
c)脚本(Scripiets) 结束加分号
语法:<% .. %> 作用:在jsp 的_jspService方法中嵌入java代码
3)动作元素(Actions)—>jsp自带的标签
语法:<jsp:tagName attrName=”attrValue”></jsp:tagName>
a)include标签==>封装了请求转发器的include方法的功能
<jsp:include>标签表示包含一个静态的或者动态的文件。
语法:
<jsp:include page=”path” flush=”true” />
or
<jsp:include page=”path” flush=”true”>
<jsp:param name=”paramName” value=”paramValue” />
</jsp:include>
注:
1、page=”path” 为相对路径,或者代表相对路径的表达式。
2、flush=”true” 必须使用flush为true,它默认值是false。
3、<jsp:param>子句能让你传递一个或多个参数给动态文件,也可在一个页面中使用多个<jsp:param>来传递多个参数给动态文件。
b)forward标签==>封装了请求转发器的forward方法的功能
<jsp:forward>标签表示重定向一个静态html/jsp的文件,或者是一个程序段。
语法:
<jsp:forward page=”path”} />
or
<jsp:forward page=”path”} >
<jsp:param name=”paramName” value=”paramValue” />……
</jsp:forward>
注:
1、page=”path” 为一个表达式,或者一个字符串。
2、<jsp:param> name 指定参数名,value指定参数值。参数被发送到一个动态文件,参数可以是一个或多个值,而这个文件却必须是动态文件。要传递多个参数,则可以在一个 JSP文件中使用多个<jsp:param>将多个参数发送到一个动态文件中。
c)useBean标签
<jsp:useBean>标签表示用来在JSP页面中创建一个BEAN实例并指定它的名字以及作用范围。
语法:
<jsp:useBean id=”name” scope=”page | request | session | application” typeSpec />
其中typeSpec有以下几种可能的情况:
class=”className” | class=”className” type=”typeName” | beanName=”beanName” type=”typeName” | type=”typeName” |
注:你必须使用class或type,而不能同时使用class和beanName。beanName表示Bean的名字,其形式为“a.b.c”。
d)SetPropety标签
<jsp:useBean id=”对象名” class=”类全名”|type=”类全名”(使用多态时使用)
beanName=”类全名” scope=”page|request|session|application”>
jsp:useBean动作,可以通过这个动作来使用java代码,id就是变量名,clss和type
的区别在于,使用type是不会创建对象,而只是会先查找如果有该对象就会使用,如果没有就会抛出异常,
class在没有该对象存在时,则会创建新对象。scope是用来保存实例的空间范围,
page、request、session、application,由小到大,默认为page。
<jsp:setProperty name=”对象名” property=”属性名” value=”属性值”/>
直接指定Bean属性的值,必须类型一致。
<jsp:setProperty name=”对象名” property=”属性名” param=”from表单中的响应的参数名”/>
用表单中指定的参数来为Bean属性赋值,系统会自动作类型转换。
<jsp:setProperty name=”对象名” property=”属性名”/>
用表单中和Bean属性同名的标单项来给Bean属性赋值,这样写只会为指定的属性赋值
<jsp:setProperty name=”对象名” property=”*”/>
这种方式会自动用表单中的同名参数来为Bean的所有属性赋值
<jsp:setProperty name=”对象名” property=”属性名” value=”<%= …%>”/>
使用表达式来为Bean的属性进行赋值
e)getPropety标签
<jsp:getProperty name=”对象名” property=”属性名”>
取得指定的属性,这个动作不常用,一般用表达式代替
我们可以通过设置属性名的方法名也就是setXxxx()来控制属性的赋值,用form表单的参数
为Bean的属性赋值时,系统会自动的调用与之同名属性的setXxxx()方法,尤其是日期类型,可以通过使用这一方法来处理。
f)Param标签
将参数设定到request对象中,一般都是作为其他标签的子标签。
语法:<jsp:param name=”" value=”"/>
e) Plugin指令
<jsp:plugin>标签表示执行一个applet或Bean,有可能的话还要下载一个Java插件用于执行它。
语法:
<jsp:plugin
type=”bean | applet”
code=”classFileName”
codebase=”classFileDirectoryName”
[ name="instanceName" ]
[ archive="URIToArchive, ..." ]
[ align="bottom | top | middle | left | right" ]
[ height="displayPixels" ]
[ width="displayPixels" ]
[ hspace="leftRightPixels" ]
[ vspace="topBottomPixels" ]
[ jreversion="JREVersionNumber | 1.1" ]
[ nspluginurl="URLToPlugin" ]
[ iepluginurl="URLToPlugin" ] >
[ <jsp:params>
[ <jsp:param name="parameterName" value="{parameterValue | <%= expression %>}" /> ]+
</jsp:params> ]
[ <jsp:fallback> text message for user </jsp:fallback> ]
</jsp:plugin>
注:
<jsp:plugin>元素用于在浏览器中播放或显示一个对象(典型的就是applet和Bean),而这种显示需要在浏览器的java插件。
当Jsp文件被编译,送往浏览器时,<jsp:plugin>元素将会根据浏览器的版本替换成<object>或者<embed>元素。注意,<object>用于HTML 4.0 ,<embed>用于HTML 3.2。
一般来说,<jsp:plugin>元素会指定对象是Applet还是Bean,同样也会指定class的名字,还有位置,另外还会指定将从哪里下载这个Java插件。
include指令和include动作元素的比较
1)include指令包含页面是在翻译的时候进行的,而include动作元素则在运行时进行
2)如果被包含的页面内容发生变化,那麽通过include指令进行包含的页面需要重新翻译,
而通过include动作元素进行包含的页面无需重新进行翻译
转载于:https://blog.51cto.com/1754771/789076