JSP内置对象
一、jsp的九大内置对象
内置对象
|
代表意义 |
类型
|
pageContext
|
JSP页面的上下文对象,可以获得其他八个内置对象 |
javax.servlet.jsp.PageContext
|
request
|
请求对象 |
javax.servlet.http.HttpServletRequest
|
response
|
响应对象 |
javax.servlet.http.HttpServletResponse
|
session
|
会话对象 |
javax.servlet.http.HttpSession
|
application
|
代表整个web应用 |
javax.servlet.ServletContext
|
config
|
配置参数,用于获取servlet的配置参数 |
javax.servlet.ServletConfig
|
out
|
输出流对象 |
javax.servlet.jsp.JspWriter
|
page
|
servlet的对象,方法中的this对象 |
java.lang.Object
|
exception
|
异常对象 |
java.lang.Throwable
|
二、
<body>
<%--设置数据 --%>
<% pageContext.setAttribute("name", "tom");%>
<%--获取数据 --%>
<%=pageContext.getAttribute("name") %>
<!-- 移除数据 -->
<%pageContext.removeAttribute("name"); %>
<!-- 转发-->
<%pageContext.forward("for.jsp"); %>
<!--包含 -->
<%pageContext.include("index.jsp"); %>
<!--设置数据的作用域 -->
<%
pageContext.setAttribute("name", "root",pageContext.SESSION_SCOPE);
findAttribute会在四个域对象中查找数据,顺序是pageContext,session,request,application
Object o=pageContext.findAttribute("name");
out.write(o.toString());
%>
</body>
三、四大域对象作用范围
pagContext
当前jsp页面
request
当前请求
session
整个会话
servletContext
整个应用
四、常用的动作标签
-
介绍
JSP
标签也称之为
Jsp Action(JSP
动作
)
元素,它用于在
Jsp
页面中提供业务逻辑功能,避免在
JSP
页面中直接编写
java
代码,造成
jsp
页面难以维护。
-
常用标签
-
<jsp:include> -
<jsp:forard> -
<jsp:param>
-
具体使用
1、<jsp:include>
用于把一个资源的输出内容插入进当前JSP页面的输出内容之中,这种称为动态引入。
语法:
<jsp:include page="relativeURL | <%=expression%>" flush="true|false" />
page属性用于指定被引入资源的相对路径,它也可以通过执行一个表达式来获得。
flush属性指定在插入其他资源的输出内容时,是否先将当前JSP页面的已输出的内容刷新到客户端。
<body>
//插入Error.html这个页面到当前页面
<jsp:include page="/Error.html" flush="true"></jsp:include>
This is a page. <br>
</body>
2、<jsp:forward>
<jsp:forward>标签用于把请求转发给另外一个资源。
语法:
<jsp:forward page="relativeURL | <%=expression%>" />
page属性用于指定请求转发到的资源的相对路径,它也可以通过执行一个表达式来获得。
3、<jsp:param>
当使用<jsp:include>和<jsp:forward>标签引入或将请求转发给其它资源时,可以使用<jsp:param>标签向这个资源传递参数。
语法1:
<jsp:
include
page="relativeURL | <%=expression%>">
<jsp:param name="parameterName" value="parameterValue|<%= expression %>" />
</jsp:include>
语法2:
<jsp:
forward
page="relativeURL | <%=expression%>">
<jsp:param name="parameterName" value="parameterValue|<%= expression %>" />
</jsp:forward>
<jsp:param>标签的name属性用于指定参数名,value属性用于指定参数值。在<jsp:include>和<jsp:forward>标签中可以使用多个<jsp:param>标签来传递多个参数。
案例:设置参数界面
<
jsp:include
page
=
"/getparam.jsp"
>
<
jsp:param
value
=
"Why"
name
=
"param"
/>
</
jsp:include
>
或:
<jsp:forward page="/getparam.jsp">
<jsp:param value="20" name="age"/>
</jsp:forward>
获取数据界面
<%=
request.getParameter(
"name"
)
%>
<%=
request.getParameter(
"param"
)
%>
或:
<%=request.getParameter("age") %>