- 在JSP中的动作行为包括:Include、 Forward、 UseBean、 GetProperty、 SetProperty、 Plugin。
- 一、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来传递多个参数给动态文件。
- 4、<jsp:include page="" flush=""> 与<%@ include file=""%>的区别:
- <jsp:include >是动态包含<%@include%>是静态包含。 - jsp页面是把include指令元素(<%@ include file=""%>)所指定的页面的实际内容(也就是代码段)加入到引入它的jsp页面中,合成一个文件后被jsp容器将它转化成servlet。
- 可以看到这时会产生一个临时class文件和一个servlet源文件。
- 而动作元素(<jsp:include page=""/>)是在请求处理阶段引入的,会被JSP容器生成两个临时class文件和两个servlet原文件。
- 而引入的只是servlet的输出结果,即JspWriter对象的输出结果,而不是jsp的源代码。
- 二、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将多个参数发送到一个动态文件中。
- 三、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”。
- 四、GetProperty行为
- <jsp:getProperty>标签表示获取BEAN的属性的值并将之转化为一个字符串,然后将其插入到输出的页面中。 - 语法
- 五、SetProperty行为
- <jsp:setProperty>标签表示用来设置Bean中的属性值。 - 语法
- <jsp:setProperty name=“beanName” prop_expr /> - 其中prop_expr有以下几种可能的情形
- property=”*” | property=“propertyName” | property=“propertyName” param=“parameterName” | property=“propertyName” value=“propertyValue”
- 注
- 使用 jsp:setProperty 来为一个Bean的属性赋值;可以使用两种方式来实现。
- 1、在jsp:useBean后使用jsp:setProperty
-
<jsp:useBean id="myUser" … />
…
<jsp:setProperty name="user" property="user" … />
- 在这种方式中,jsp:setProperty将被执行。
- 2、jsp:setProperty出现在jsp:useBean标签内
-
<jsp:useBean id="myUser" … >
…
<jsp:setProperty name="user" property="user" … />
</jsp:useBean>
- 在这种方式中,jsp:setProperty只会在新的对象被实例化时才将被执行。
- 在jsp:setProperty中的name值应当和jsp:useBean中的id值相同。
- 六、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>
- 注: