• JSP、EL动态页面技术


    JSP、EL动态页面技术

     

    JSP

    jsp中写java代码的方式有三种

      1.<%java代码%>——被翻译到service方法内部

      2.<&=java变量或表达式&>——翻译成service方法内部out.print();

      3.<&!java代码&>——翻译成servlet成员内容

    jsp里面的注释可见范围不同

      <!--  -->——可见范围jsp源码、翻译后的servlet、页面显示html源码

      //单行注释  /*多行注释*/——可见范围jsp源码、翻译后的servlet

      <%--注释内容--%>——可见范围jsp源码

    jsp中三个指令

      1.page指令  <%@page属性名1="属性值1" 属性名2="属性值2"...%>

        language:jsp脚本中可以嵌入的语言种类(默认为java,无法修改)

        pageEncoding:当前jsp文件本身编码——内部可以包含contentType

        contentType:response.setContentType(text/html;charset=UTF-8)

        session:是否jsp在翻译时自动创建session(布朗值)

        import:导包

        errorPage:当前页面出错后跳转页面到哪

        isErrorPage:处理出错页面,配合errorPage使用

      2.include指令  页面静态包含<&@include file="被包含文件地址"&>

      3.taglib指令  引入标签库<%@taglib uri="标签库地址" prefix="前缀"%>

    jsp中内置对象

      out、request、response、config、session、application、page、pageContext、exception

    jsp中四个域

      pageContext域:当前jsp页面范围

      request域:一次请求中

      session:一次会话中

      application域:整个web应用

    EL

    ${EL表达式  };

    EL获得pageContext域中的值:${pageScope.key};

    EL获得request域中的值:${requestScope.key};

    EL获得session域中的值:${sessionScope.key};

    EL获得application域中的值:${applicationScope.key};

    el从上到下依次从4个域中寻找,获取key值,在某个域中获取后不再寻找

    <!-- 模拟域中的数据 -->
    <%
        pageContext.setAttribute("name", "pageContxt");
        //存储字符串
        request.setAttribute("name", "request");
        //存储一个对象
        Users user=new Users();
        user.setId(1);
        user.setUsername("lisi");
        user.setPwd("123");
        session.setAttribute("user", user);
        //存储一个集合
        List<Users> list=new ArrayList<Users>();
        Users user1=new Users();
        user1.setId(1);
        user1.setUsername("wangwu");
        user1.setPwd("123");
        list.add(user1);
        Users user2=new Users();
        user2.setId(1);
        user2.setUsername("zhaoliu");
        user2.setPwd("123");
        list.add(user2);
        application.setAttribute("List", list);
    %>
    <hr>
    <!-- 使用脚本取出域中的值 -->
    <%=request.getAttribute("name") %>
    <%Users u=(Users)session.getAttribute("user");
        out.write(u.getUsername());
    %>
    <hr>
    <!-- 使用EL表达式取出域中的值 -->
    ${requestScope.name}
    ${sessionScope.user.username}
    ${applicationScope.List[0].pwd}
    <hr>
    <!-- 使用el表达式 全域查找(会从最小的找,底层就是findAttribute()) -->
    ${name }
    ${user.username}
    ${List[0].pwd}
  • 相关阅读:
    PHP的ip2long和long2ip函数的实现原理
    PHP在浏览器上跟踪调试的方法以及使用ChromePhp、FirePHP的简单介绍
    PHP静态延迟绑定简单示例
    [deviceone开发]-do_Socket组件示例
    [deviceone开发]-大家比较关注的应用内部升级
    [deviceone开发]-do_Viewshower的动画效果示例
    [deviceone开发]-企业OA项目开源分享
    [deviceone开发]-do_RichLabel的简单示例
    [deviceone开发]-直播APP心形点赞动画示例
    [deviceone开发]-纳豆项目源码开源
  • 原文地址:https://www.cnblogs.com/luzhijin/p/13554491.html
Copyright © 2020-2023  润新知