jsp脚本&指令&动作标签简介

jsp是java服务器页面,运行在服务器端,本质上就是一个servlet,产生的java文件和class保留在tomcat的word目录下.

jsp脚本格式:

    1.<%..%> java代码片段

    2.<%=..%> 输出表达式 相当于out.print();

    3.<%!...%> 声明成员

jsp的指令

    作用:声明jsp页面的一些属性和动作
    格式:
        <%@指令名称 属性="值" 属性="值"%>
    jsp指令的分类:
        page:主要声明jsp页面的一些属性(一般IDE工具都会帮我们生成)
        include:静态包含.
                 代码展示:
        taglib:导入标签库
    注意:
        一个页面中可以出现多个指令
        指令可以放在任意位置,一般都放在jsp页面最上面.

指令详细:

page指令:

    重要属性:3个
        contentType:设置响应流的编码,及通知浏览器用什么编码打开.设置文件的mimetype
        pageEncoding:设置页面的编码
        import:导入所需要的包
        contentType和pageEncoding联系:
            若两者都出现的时候,各自使用各自的编码
            若只出现一者,两个都使用出现的这个编码
            若两者都不出现,使用服务器默认的编码 tomcat7使用的iso-8859-1
    了解属性:
        language:当前jsp页面里面可以嵌套的语言
        buffer:设置jsp页面的流的缓冲区的大小
        autoFlush:是否自动刷新
        extends:声明当前jsp的页面继承于那个类.必须继承的是httpservlet 及其子类
        session:设置jsp页面是否可以使用session内置对象
        isELIgnored:是否忽略el表达式
        errorPage:当前jsp页面出现异常的时候要跳转到的jsp页面
        isErrorPage:当前jsp页面是否是一个错误页面
            若值为true,可以使用jsp页面的一个内置对象 exception

page指令代码:

![page][1]
![600错误页面][2]
![运行结果][3]

include指令:

    静态包含,就是将其他页面或者servlet的内容包含进来,一起进行编译运行.生成一个java文件.
    格式:
        <%@include file="相对路径或者是内部路径" %>
    例如:
        <%@include file="/jsp/include/i1.jsp" %>
        
    路径:
        相对路径:
            ./或者什么都不写 当前路径
            上一级路径  ../
        绝对路径:
            带协议和主机的绝对路径
            不带协议和主机的绝对路径
                /项目名/资源
                    
        内部路径:
            不带协议和主机的绝对路径去掉项目名
                请求转发 静态包含 动态包含

include指令展示:

  ![include][4]
  http://suyibkftp.oss-cn-qingdao.aliyuncs.com/%E5%8D%9A%E5%AE%A2%E6%96%87%E7%AB%A0%E5%9B%BE/jsp/i1.jsp.png
  ![i2][6]
  ![运行结果][7]

taglib指令:导入标签库:    

    格式:
        <%@taglib prefix="前缀名" uri="名称空间" %>
    若导入之后
        <前缀名:标签 .. >
    例如 导入jstl标签库:
        <c:if test="">输出内容</c:if>

jsp的动作标签:

    <jsp:forward>:请求转发  相当于java中  request.getRequestDispatcher(..).forward(..);
        <jsp:forward page="内部路径"></jsp:forward>
    <jsp:include>:动态包含
        就是将被包含页面或者servlet的运行结果包含到当前页面中.

一般只会在model1设计模式中使用(缺点:阅读起来不方便,维护比较困难)
    <jsp:useBean>接受值 相当于  User u=new User() new对象
             <jsp:useBean id="u" class="com.itheima.domain.User"></jsp:useBean>

        <jsp:setProperty>相当于  u.setName(...) 设置参数
         <jsp:setProperty property="name" name="u"/>
         <jsp:setProperty property="password" name="u"/>

    <jsp:getProperty>打印值 打印参数
        <jsp:getProperty property="name" name="u"/>
![jsp:动态标签][8]

猜你喜欢

转载自blog.csdn.net/qq_40325734/article/details/80384912