【Java】【JSP】Jsp语法

  1. jsp 脚本
1. 小脚本<% java代码 %>
2. 表达式<% =2+3 %> 等于out.print(2+3);
3. 声明<%! %> 表示在类中定义全局变量和静态块
4. <%-- --%>jsp注释 安全,节省流量
  1. 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 指令
    静态包含:<%@ include file="/2.jsp"%>
    动态包含:
    动态和静态区别:静态文件在服务器响应之前就已经包含页面,而动态页面在客户端执行到该行时才会解析该命令
    
    • taglib 指令
    <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
    专门用来引入jstl标签库使用的
    
  2. jsp 动作
    • jsp:useBean 创建一个对象
    
    
    • jsp:setProperty 给指定的对象设置属性
    
    
    
    • jsp:getProperty 获取制定对象的属性
    
    
    
    • jsp:include 动态包含
    
    
    • jsp:forword 请求转发与转发携带参数
    <%-- 1.jsp --%>
    
        
        
    
    <%-- 2.jsp --%>
    

    这里是2.jsp

    <%= request.getParameter("uid")%> <%= request.getParameter("pwd")%>
  3. 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的顺序查找值

你可能感兴趣的:(【Java】【JSP】Jsp语法)