概述:常见的JSP动作组件有以下几种:
1. <jsp:include>:在页面被请求的时候引入一个文件
2. <jsp:forward>:把请求转到一个新的页面
3. <jsp:param>:在动作组件中引入参数信息
4. <jsp:useBean>:寻找或者实例化一个JavaBean
5. <jsp:setProperty>:设置JavaBean的属性
6. <jsp:getProperty>:输入某个JavaBean的属性
详细介绍:1. <jsp:include>:在页面被请求的时候引入一个文件
举例:
<jsp:include page="/a.jsp"/>
|
对应的Java代码:
request.getRequestDispatcher("/a.jsp").include(request, response);
|
注意:与JSP指令<%@ inlude file="/a.jsp">的区别
1. <jsp:include page="/a.jsp">动作在执行时才对包含的文件进行处理,是动态的;
2. <%@ include file="/a.jsp">指令,只要a.jsp文件发生变化,就会重新将JSP页面转译成Java文件,是静态的;
3. 除此之外,动作中的page属性可以是某个布署的Servlet的URL,而指令中的file属性却不行;
2. <jsp:forward>:把请求转到一个新的页面
举例:
<jsp:forward page="/a.jsp"/>
|
对应的Java代码:
request.getRequestDispatcher("/a.jsp").forward(request, response);
|
3. <jsp:param>:在动作组件中引入参数信息
必须配合<jsp:include>或<jsp:forward>动作组件一起使用
举例:
<jsp:forward page="/a.jsp">
<jsp:param name="id" value="007"/>
<jsp:param name="name" value="michael"/>
</jsp:forward>
|
4. <jsp:useBean>:寻找或者实例化一个JavaBean
举例:
<jsp:useBean id="stu" class="com.dlut.zxf.Student" scope="session"/>
|
若在本次会话(session)(如果scope="page"则是本页面)中未找到这个实例,则会new一个
对应的Java代码:
com.dlut.zxf.Student stu = new com.dlut.zxf.Student();
session.setAttribute("stu", stu);
|
5. <jsp:setProperty>:设置JavaBean的属性
举例:
<jsp:setProperty name="stu" property="name" value="michael"/>
|
对应的Java代码:
6. <jsp:getProperty>:输入某个JavaBean的属性
举例:
<jsp:getProperty name="stu" property="name"/>
|
对应的Java代码:
out.print(stu.getName());
或
<%=stu.getName()%>
|