JSP中的指令与动作
JSP中的三种命令指令分别是page、include、taglib
JSP中的动作元素包括:include、forward、useBean、getProperty、setProperty、plugin、param。
jsp:forward : 执行页面转向,将请求的处理转发到下一个页面。
jsp:param : 用于传递参数,必须与其他支持参数的标签一起使用。
jsp:include : 用于动态引入一个JSP页面。
jsp:plugin : 用于下载JavaBean或Applet到客户端。
jsp:useBeam : 创建一个JavaBean的实例(初始化)。
jsp:setProperty : 设置JavaBean实例的属性值。
jsp:getProperty : 输出JavaBean实例的属性值。
一、include指令
语法
<%@ include file="URL"%>
示例:在示例页面包含一个日期jsp页面
效果:
三、include指令与include动作比较
include指令 jsp:include动作
语法格式 <%@include file=".."%> <jsp:include page="..">
发生作用的时间 页面转换时 请求期间
包含的内容 文件的实际内容(源代码) 页面的输出结果
转换成servlet 主页面和包含页面转换为一个servlet 主页面和包含页面分别转换为独立的servlet
编译时间 较慢---资源必须被解析 较快
执行时间 稍快 较慢---每次资源必须被解析
使用方式 页面内容不经常变化时 页面内容经常变化时
四、forward动作
语法:
<jsp:forward page="URL" />
等同于服务器内部跳转
request.getRequestDispatcher("/url").forward(request,response);
五、param动作
语法:
<jsp:param name="参数名" value="参数值"/>
与forward动作一起使用,作为其的子标签
用于传递参数使用
示例:跳转到index.jsp页面并且传递参数mail,之后可以通过request对象进行获取
<jsp:forward page="index.jsp">
<jsp:param name="mail" value="archmagetony@sina.com"/>
</jsp:forward>
一、forward 指令
forward指令用于将页面响应转发到另外的页面。
JSP使用语法:
对于JSP1.1
<jsp:forward page = "{relativeURL|<%=expression%>}"/>
{<jsp:param .../>}
</jsp:forward>
在转发时增加额外的请求参数。增加的请求参数值可以通过HttpServletRequest类的getParameter()方法获取。
在另一页面使用request内置对象(request内饰对象是HttpServletRequest的实例)来获取增加的请求参数值 。
<%=request.getParameter("参数名字")%>
二、include指令
下面是include动作指令的语法格式:
<jsp:include page = "{relativeURL|<%=experssion%>}" flush = "true"/>
或者
<jsp:include page = "{relativeURL|<%=experssion%>}" flush = "true"/>
<jsp:param name = "parameterName" value= "parameterValue"/>
</jsp:include>
flush 属性用于指定输出缓存是否转移到被导入文件中。
三、useBean、setProperty、getProperty指令
如果多个JSP页面需要重复使用某一段代码,我们可以把这段代码定义成Java类的方法,然后让多个JSP页面
调用该方法便可。
useBean语法格式:
<jsp:useBean id = "name" class = "classname" scope = "page|request|ssesion|application" />
id属性是JavaBean的实例名。
class属性确定JavaBean的实现类。
scope属性用于指定JavaBean实例的作用范围该范围有4个值。
1、page : 该JavaBean实例只在该页面有效。
2、request : 该JavaBean实例只在本次请求有效。
3、session : 该JavaBean实例只在本次Session有效。
4、application : 该JavaBean实例在本次应用内一直有效。
setProperty的语法格式:
<jsp:setProperty name = "BeanName" property = "propertyName" value = "value" />
name 属性确定需要设定的JavaBean的实例名 ;
prototype 属性确定需要设定的属性名 ;
value 属性确定设定需要设置的属性值。
getProperty 的语法格式:
<jsp:getProperty name = "BeanName" property = "propertyName" />
例子如下: