JSP的7个动作指令:
编译指令是通知Servlet引擎的处理消息,而动作指令只是运行时的动作。
jsp:forward : 执行页面转向,将请求的处理转发到下一个页面。
jsp:param : 用于传递参数,必须与其他支持参数的标签一起使用。
jsp:include : 用于动态引入一个JSP页面。
jsp:plugin : 用于下载JavaBean或Applet到客户端。
jsp:useBeam : 创建一个JavaBean的实例(初始化)。
jsp:setProperty : 设置JavaBean实例的属性值。
jsp:getProperty : 输出JavaBean实例的属性值。
一、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" />
例子如下:
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>BeanTest</title>
</head>
<body>
<!-- 创建实例 -->
<jsp:useBean id="BeanTest_1" class = "com.cnblogs.jbelial.Person" scope = "page" ></jsp:useBean>
<!-- 设置属性值 -->
<jsp:setProperty property="name" name="BeanTest_1" value = "hezuoan"/>
<jsp:setProperty property="age" name="BeanTest_1" value = "19"/>
<jsp:setProperty property="sex" name="BeanTest_1" value = "M"/>
<!-- 输出属性值 -->
<jsp:getProperty property="name" name="BeanTest_1"/>
<jsp:getProperty property="age" name="BeanTest_1"/>
<jsp:getProperty property="sex" name="BeanTest_1"/>
</body>
</html>
package com.cnblogs.jbelial;
public class Person {
String name ;
String sex ;
int age ;
public Person()
{
}
public Person(String name , int age , String sex)
{
this.name = name ;
this.sex = sex ;
this.age = age ;
}
public void setName (String name)
{
this.name = name ;
}
public void setSex (String sex)
{
this.sex = sex ;
}
public void setAge (int age)
{
this.age = age ;
}
public String getName()
{
return this.name ;
}
public String getSex()
{
return this.sex ;
}
public int getAge()
{
return this.age ;
}
}
四、param指令
param指令用于设置参数。参考上面的代码。
param指令不能单独使用。