• jsp篇 之 指令元素和动作元素


    Jsp指令元素分类与书写格式

    书写格式:

    <%@ 指令类型  属性="" ..  %>

    分类:

    page include taglib】三种。

    根据名字就能知道指令含义:page主要是对页面进行操作,include主要是对导入进行操作,taglib主要是对标签库进行操作

    1,page指令:

    errorPage="error.jsp"

    如果a.jsp页面中设置了errorPage="error.jsp",那么a.jsp页面在运行时【一旦出错】 就会【自动跳转到error.jsp】里面.

     

    isErrorPage="true"

    如果一个页面中设置了isErrorPage="true",那么就表示这个【页面是用来专门显示 错误信息】的页面。

    另外在这个页面中【能够使用到隐藏对象exception】来显示出错误的信息.(需要使 jsp的内置对象)

     eg:<% @page  isErrorPage="true " %>

    language属性 language="java"

    表示当前页面中的编程语言是java

    目前这个属性值只能写java,不支持其他语言。

    contentType属性

    contentType="text/html; charset=UTF-8"

    设置服务器将来使用iojsp页面内容输出给浏览器时,使用什么编码向 浏览器输出。

    pageEncoding属性  

    pageEncoding="UTF-8"

    设置jsp页面文件保存时候所用的编码

     

    2,include指令

    一个页面包含/引入另外一个页面有俩种方式:

    静态包含 动态包含。

    静态包含基本格式:

    <%@ include file="" %>

    作用:

    在当前页面中使用include指令可以把另外一个页面的内容引入到当前页面。

    静态include是先把被包含文件的内容全部复制内嵌到包含文件中,再进行编译运行的,所以b中的变量等不能与a重复,否则会报错

     

    动态包含:

    <jsp:include page="foot.jsp">

     

    特点:执行到了include语句的时候才触发被包含文件的编译、执行,并实时把结果包含进来。

     

     

     动态包含与静态包含的区别?

    两者都可以包含进来其他页面;

    a. 动态包含是动态标签jsp:include实现

    静态包含是由指令元素 <%@ include file="" %>实现;

    b. 静态包含原封不动载入;动态包含翻译成方法调用;

    c. 静态包含不能传参;动态包含可以传参。

    传参出现中文乱码,过滤器可以解决;

     

    动态include与静态include的最大不同在于:包含文件与被包含文件都是先编译执行,再包含。二者的编译阶段是相互独立的,只有在包含文件的include语句处把被包含文件的执行结果包含进来

    总结:

    静态包含执行效率会更快,但是有可能发生变量冲突的问题。另外使用静态包含如果包含的文件发生了变化的话,所有包含它的servlet都要重新编译更新,这是一个很大的代价。通常情况下使用动态包含比较多。

     

    3,taglib指令

    该指令的作用是在当前jsp页面中【引入一些特殊的标签库】.

    比如jstl标签库、struts2标签库等。

     

    jsp的动作元素

    jsp文件中,我们之前嵌入的java代码和标签配合出现,整体风格比较乱,不利用改动与维护,且代码量过于庞大。

    把常见的一些java代码进行封装,就得到了jsp中的动作标签。

     

    注意:jsp中尽可能不要出现java代码。

     

    Jspservlet的联系:

    jsp完全可以实现servlet的功能,但实际开发里面并不单独使用一种,还是需要配合使用。

    JSPServlet分工不同:

    Servlet用来接收数据,页面跳转;

    jsp用来动态显示页面内容。

  • 相关阅读:
    cookie 和session 的区别
    求职面试技巧
    php setcookie(name, value, expires, path, domain, secure) 参数详解
    (输出缓冲)函数的妙用
    linux下忘记mysql root密码解决办法
    php导入导出
    nginx的基本配置和虚拟主机的配置
    实战练习235页
    接口练习
    总结构建子类对象时的顺序
  • 原文地址:https://www.cnblogs.com/wskb/p/10705684.html
Copyright © 2020-2023  润新知