- jsp 脚本
1. 小脚本<% java代码 %>
2. 表达式<% =2+3 %> 等于out.print(2+3);
3. 声明<%! %> 表示在类中定义全局变量和静态块
4. <%-- --%>jsp注释 安全,节省流量
- jsp 指令
jsp指令并不产生任何可见的输出,而只是告诉引擎如何处理jsp中的其余部分
使用jsp指令需要使用<%@ 指令名 参数名1="参数值1" 参数名2="参数值2"%>
如<%@ page language="java" import="java.util.※" pageEncoding="utf-8"%>
jsp会自动导入java.lang.※ java.servlet.※ java.servlet.http.※ java.servlet.jsp.※
- page 指令:
无论写在页面什么地方,都作用于整个页面。规范建议统一编写在页面顶部
language="java": 默认支持语言java
extends="com.stu.demo.Demo": 继承某一个类(使用该指令后jsp则不再继承HttpJspBase)
import="com.*,com.stu.*"导包 多个包之间用逗号隔开
session="true|false" 默认是开启的,从pageContext.getSession()中获得
buffer="none|8kb|sizekb" 缓冲区 默认8kb 建议不修改
autoFlash="true|false" 自动刷新(清除缓存)
isThreadSafe="true|false" 线程安全 为false时继承SingleThreadSafeMode接口(过时)
info="text" 页面基本信息
errorPage="relative_url" 页面出现错误时,自动跳转该页面
isErrorPage="true|false" 默认false 是否创建throwable对象
contextType 等同于response.setContextType("text/html; charset=utf-8")
pageEncoding 告诉JSP引擎翻译的文件使用的编码
isELIgnored 是否忽略EL表达式 默认:false
静态包含:<%@ include file="/2.jsp"%>
动态包含:<jsp:include page="2.jsp"/>
动态和静态区别:静态文件在服务器响应之前就已经包含页面,而动态页面在客户端执行到该行时才会解析该命令
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
专门用来引入jstl标签库使用的
- jsp 动作
<jsp:useBean id="user" class="com.stu.entity.User"/>
- jsp:setProperty 给指定的对象设置属性
<jsp:setProperty name="user" property="uid" value="username"/>
<jsp:setProperty name="user" property="pwd" value="password"/>
- jsp:getProperty 获取制定对象的属性
<jsp:getProperty name="user" property="uid"/>
<jsp:getProperty name="user" property="pwd"/>
<jsp:include page="2.jsp"/>
<%-- 1.jsp --%>
<jsp:forward page="2.jsp">
<jsp:param name="uid" value="username"/>
<jsp:param name="pwd" value="password"/>
</jsp:forward>
<%-- 2.jsp --%>
<h1>这里是2.jsp</h1>
<%= request.getParameter("uid")%>
<%= request.getParameter("pwd")%>
- jsp9大内置对象
内置对象是指可以在<%=%> <%%>中直接使用,不需要声明的对象
对象名 |
类型 |
说明 |
request |
javax.servlet.http.HttpServletRequest |
response |
javax.servlet.http.HttpServletResponse |
session |
javax.servlet.http.HttpSession |
由session="true"开关控制 |
application |
javax.servlet.ServletContext |
exceptin |
java.lang.Throwable |
由isErrorPage="false"开关控制 |
page |
java.lang.Object 当前对象this |
当前servlet实例 |
config |
javax.servlet.ServletConfig |
out |
javax.servlet.jsp.JspWriter |
字节输出流,相当于printWriter对象 |
pageContext |
javax.servlet.jsp.PageContext |
以上8个对象的数据集合 |
- void setAttribute(String name,Object o);
- Object getAttribute(String name);
- void removeAttribute(String name);
操作其他域对象的方法
- void setAttribute(String name,Object o, int Scope);
- Object getAttribute(String name, int Scope);
- void removeAttribute(String name, int Scope);
Scope的值:
PageContext.PAGE_SCOPE
PageContext.REQUEST_SCOPE
PageContext.SESSION_SCOPE
PageContext.APPLICATION_SCOPE
- findAttribute(String name); 按照page request session application的顺序查找值
网友评论