• JSP&&EL&&JSTL


    JSP = JAVA + HTML + JSP自身的东西
    JSP的脚本
            <%!   %>        :翻译成Servlet中的成员内容. 定义变量,方法,类. -- 不建议.
            <%    %>        :翻译成Servlet中service方法内部的内容. 定义类,变量 
            <%=   %>        :翻译成Servlet中service方法中out.print();

    <%@ 指令名称 属性名称="属性值" 属性名称="属性值" .....%>

    JSP中三个指令:page指令,include指令,taglib指令
        * page指令
            * language        :jsp脚本中更实用过得语言,现在只能写java
            * contentType    :设置浏览器打开这个jsp的时候采用的字符集编码
            * pageEencoding :设置文件保存到本地硬盘,以及生成Servlet后,Servlet保存到硬盘的编码;
            * import         :在jsp中引入类对象,但是import可以出现多次
                * 设置全局的错误友好页面:
                    * 在web.xml中设置:
                      <error-page>
                          <error-code>404</error-code>
                          <location>/404.jsp</location>
                      </error-page>
                      <error-page>
                          <error-code>500</error-code>
                          <location>/500.jsp</location>
                      </error-page>

    jsp中的include指令:只是将jsp中包含其他的页面
        <%@ include file="logo.jsp" %>
        <%@ include file="menu.jsp" %>
        <h1>BODY部分</h1>
        <%@ include file="footer.jsp" %>
    jsp的taglib指令
        * <%@ tabglib uri="标签的uri的路径" prefix="c" % > 需要导包

    jsp的内置对象
        * jsp的内置对象:在jsp中可以直接使用的对象
        * jsp的9大内置对象
            * request                HttpServletRequest                getParameter(),setAttribute(String name,Object value);
            * response                HttpServletResponse                setHeader(String name,String value);getOutputStream();getWriter();
            * session                HttpSession                        setAttribute();getAttribute();
            * application            ServletContext                    setAttribute();getAttribute();
            * page                    Object                            toString();wait();
            * pageContext            PageContext                        setAttribute();getAttribute();
            * config                ServletConfig                    getServletName();getServletContext();
            * out                    JspWriter                        write(),print();
            * exception                Throwable                        getMessage(),getCause();             设置isErrorPage=”true”
        *        page内置对象                :真实对象是Object,就是JSP翻译成Servlet后的类的引用.
                out内置对象                :out和response.getWriter是不是同一个对象?区别是什么?
        *     不是out真实对象JspWriter ,response获得Writer是PrintWriter.

        **     pageContext内置对象        :
            * 获得其他的8个内置对象    :编写通用性代码或者框架的时候.
            * 向JSP的四个域中存取数据    :
        jsp的四大域对象
            * pageScope                : 一个页面        pageContext     pageContext
             * requestScope            : 一次请求        request         HttpservletRequest
            * SessionScope            : 一次会话        session         Httpsession
            * ApplicationScope        : 应用范围        application        ServletContext
        jsp的动作标签(简化代码)
            * <jsp:forward="  ></forwoad>
            * <jsp:include >  *****静态包含和动态包含的区别?(<%@ include%>和<jsp:include>)
            *     <jsp:param />            :用于带有路径的标签下,传递参数.
                <jsp:useBean />            :用于在JSP中使用JavaBean.
                <jsp:setProperty />        :用于在JSP中向JavaBean设置属性的.
                <jsp:getProperty />        :用于在JSP中获得JavaBean的属性.
        
    EL表达式
        jsp表达语言        为了使jsp看起来更加简单
        * 语法:${ EL表达式 }
        *     EL的功能:
            * 获取数据:(JSP的四个域)
            * 执行运算:
            * 操作WEB开发的常用的对象:
            * 调用Java中方法:--很少用.
        <h1>EL功能三:操作WEB开发常用的对象</h1>
            pageScope,requestScope,sessionScope,applicationScope - 获取JSP中域中的数据
            param,paramValues     - 接收参数.
            header,headerValues - 获取请求头信息
            initParam            - 获取全局初始化参数
            cookie                - WEB开发中cookie
            pageContext            - WEB开发中的pageContext.
        
        <h3>获取PageContext中的对象</h3>
                IP地址:${ pageContext.request.remoteAddr }
                工程路径:${ pageContext.request.contextPath }

    JSTL:
        *jstl(jsp Standard Tag library ,jsp标准标签库)是一个不断完善的开放源代码jstl标签库
        jstl和EL结合,替换页面中<%%>
        * core(核心标签),fmt(国际化标签),xml(XML标签),sql(SQL    标签),fn(JSTL提供EL函数库)
                使用JSTL:
            * 引入JSTL的相关的jar包.
            * 在页面中引入标签库.<%@ taglib uri=”” prefix=””%>

        JSTL的核心标签的用法
             * if
             * forEach
             * 
             JSTL提供的EL的函数库
                * ${ fn:contains("Hello World","Hello") }
                * ${ fn:length("HelloWorld") }
                * ${ fn:toLowerCase("ABCDE") }            * * * <c:forEach var="i" items='${ fn:split("a-b-* * c-d","-") }'>
                    ${ i }
                * </c:forEach>


            

       

  • 相关阅读:
    myeclipse 自定义视图Customize Perspective 没有反应
    myEclipse工具栏设置新建类、包、接口图标
    eclipse手动添加SVN插件
    ui 库vue app
    sublime text3安装emmet插件
    Sublime Text 3最受欢迎的配色主题theme-超炫
    516D Drazil and Morning Exercise
    506C Mr. Kitayuta vs. Bamboos
    555E Case of Computer Network
    576D Flights for Regular Customers
  • 原文地址:https://www.cnblogs.com/czb2580/p/6294073.html
Copyright © 2020-2023  润新知