• JSP


    JSP的修改:

    只需要刷新页面即可,不需要重新部署项目或者重启服务器!

    JSP表达式:

    语法<%=       %>

    注意:1、JSP表达式中不能使用 " ; ";

            2、JSP表达式中不能出现多条语句;

            3、JSP表达式中的内容一定是字符串类型,或者通过toString函数转换成字符串类型。

    JSP脚本:(本质就是一个方法,所以不能在脚本中定义方法

    语法:<%        %>

    其中变量的定义和使用有先后顺序。

    JSP声明:

    语法:<%!       %>

    定义的变量是Page级别中,系统会优先执行。

    注意:JSP声明只能定义,不能实现控制逻辑。

        

    JSP指令:为JSP引擎设计。提供整个JSP页面的相关信息,并且设定JSP页面的相关属性。(区分大小写)

    JSP指令有3个指令:pageincludetaglib

    1、page指令:JSP页面一般以page指令开头

        设置属性:(下面所有设置仅供参考

        a、输出内容的类型:contentType=text/html

        b、字符集:charset=utf-8

        c、导入需要的类:import="包名.类名"

        d、跳转错误页面:errorPage="错误页面的URL"        

         f、指定错误页面:isErrorPage="false"

        g、会话是否创建:session="true"

        h、设置客户端输出内容时缓冲区的大小:buffer="8kb"   默认为8kb

        i、是否自动清空缓冲区:autoflush="true"       false:缓冲区溢出时抛出一个异常

        j、页面的说明信息:info=""

        k、是否允许并行访问:isTheadSafe="true"

        l、是否禁用EL表达式:isELingored="false"

        m、页面语言:Java

        n、转换成Servlet的父类:extend=""

    2、include指令:代码的重用

        语法:<%@ include file="文件名"%>

       注意:include指令在编译的时候就将对应的文件包含进来,等价于将该文件中的代码复制。

       缺点:1、当文件中内容被更新,包含文件的JSP页面不能及时的更新。

               2、文件中不能定义与包含文件的JSP页面相同的变量。

               3、不能携带参数

    3、taglib标签库(JSTL)

        (暂时不更新

            

    JSP动作: 

      JSP:include       (当页面被请求的时候引入一个文件)

      JSP:forward      (将请求转到另一个页面)

      JSP:useBean     (获得JavaBean的一个实例)

      JSP:setProperty (设置JavaBean的属性)

      JSP:getProperty (获得JavaBean的属性)

      JSP:plugin         (根据浏览器类型为Java插件生成object或者embed两种标记)

    1、JSP:include:会把文件的输出包含进来

         语法:<%jsp:include page="文件名"%>

         使用include动作向包含文件传参:

        <jsp:include  page="文件名">

        <jsp:param name="参数名" value="参数值">

        </jsp:include>

         (注意:直接访问包含文件时,无法获取参数,取出来为null。该参数只能在包含文件的JSP页面使用。)

        获取参数:String param=request.getParameter("param");

        include动作和include指令的区别:

        a、include指令相当于复制,编辑时将对应的文件包含进来,当内容变化时,不会再一次对其编译,不易维护。

        b、include动作会自动检查被包含文件,当客户端对JSP文件进行请求时,将会重新将对应的文件包含进来,进行实时的更新。

        

    2、JSP:forward   页面的跳转

         语法:<jsp:forward page="文件名">

         当forward动作被执行之后,当前页面后面的代码将不再执行,直接执行跳转之后页面的代码。

         使用forward动作向跳转页面传参:

         <jsp:forward page="跳转页面">

         <jsp:param name="参数名" value="参数值">

        </jsp:forward>

         获取参数:String param=request.getParameter("param");

    3、JavaBean的使用

        JSP和JavaBean的混合使用,可以提高系统的可扩展性,JavaBean也能对数据进行良好的封装。

        JavaBean支持两种组件:可视化组件、非可视化组件

        a、可视化组件:开发人员可以在运行的结果中看到界面效果。

        b、非可视化组件:一般不能观察到,其主要用在服务器端。

        JSP只支持非可视化组件。

        JavaBean有广义的定义和狭义的定义:

        a、广义的定义:一个普通的Java类

        b、狭义的定义:严格按照JavaBean规范编写的Java类。

        语法:<jsp:useBean id="" class="" scope=""></jsp:useBean>

        id:JavaBean对象的名字  class:实例化的类    scope:作用范围(page、request、session、application)

        想要清除JavaBean对象,可以调用removeAttribute("JavaBean对象的名字");

    4、JSP:setProperty

        a、 当属性值的来源是String时:

        语法:<jsp:setProperty  property="JavaBean中定义的属性名" name="JavaBean对象的名字" value="常量">

        b、当属性值的来源是request时:

       语法:<jsp:setProperty  property="JavaBean中定义的属性名" name="JavaBean对象的名字" param="表单定义的属性名">

         jsp:setProperty和setting方法是等价的!!!

         

    5、JSP:getProperty

         语法:<jsp:getProperty property="JavaBean中定义的属性名"   name="JavaBean对象的名字">

         获取bean实例使用getProperty不需要param。

         

         JavaBean注意事项:

            a、当JavaBean中需要定义boolean类型的属性时,属性名不能定义以is开头,封装的时候调用的是is方法。

            b、 JavaBean中定义的属性名和表单定义的属性名一定要一致;当不一致的时候:两者各写各的属性名;一致的时候,param可以不声明。

            c、name属性其实就是你定义useBean的id。

            d、当作用范围使用request、session、application时,需要在不同的页面调用该useBean时,也必须将jsp:useBean定义,然后使用jsp:getProperty调用属性!

    6、plugin

        (暂时不更新

  • 相关阅读:
    ubuntu安装Elasticsearch
    PHP如何计算脚本执行时间
    MVC+EF中返回JSON的性能和安全问题
    博客园最新的一个模板样式有问题
    Entity Framework 批量插入很慢吗?我自己测试下
    用 Raphaël 绘制中国地图 + 显示数据
    博客园的手机版(非官方) MVC+jQuery.Mobile
    BitCovert,与移位,加法性能比较
    探讨微软ASP.NET AJAX控件开发技术(客户端)
    (十三)树【C++刷题】
  • 原文地址:https://www.cnblogs.com/darren0415/p/6017542.html
Copyright © 2020-2023  润新知