• jsp 基础语法


    jsp文件的标准注释:

      这种注释只显示在jsp文件中,不会翻译到service方法中。

    <%-- 这里是注释内容 --%>

    jsp文件中的小脚本:scriptlet

      在该符号内的Java代码会被翻译到Servlet的service方法中,所以在这里写脚本就当是在service方法中写Java代码即可。

      这里可以写局部变量,Java代码。

    <% 这里写小脚本内容(java代码/局部变量) %>

    jsp文件中的声明:declaration

      这里写的语句相当于Servlet中的静态变量、静态方法、静态代码块、实例变量、实例方法、实例代码块。

    <%! 这里写声明语句 %>

    jsp文件中的表达式:expression

      <%= %> 等同于 out.print();

      <%="Hello World!"%> 等同于 out.print("Hello World!");

      <%=1+1%> 等同于 out.print(1+1);

      <%="1+1"%> 等同于 out.print("1+1");

      <%= %>中的代码不能以“;”结尾,否则就 out.print(xxx;);显然是没有这种语法的。

    <%= 这里写表达式 %>

    jsp文件中的指令:derective

      page指令:属性有以下

          import:翻译生成java语言中的import语句

          contentType:指定JSP页面响应内容类型

          pageEncoding:指定JSP页面响应的页面字符编码

          session:指定当前JSP页面是否可以使用session这个内置对象,默认为true

          errorPage:指定当前JSP页面发生错误之后跳转的资源路径

          isErrorPage:指定当前JSP页面是一个错误页面,这样才能使用内置对象exception

          isELIgnored:指定当前页面中如果有EL表达式是否忽略,true表示忽略,false表示不忽略

    <%@page 属性名=属性值%>
    <%@page import=”java.util.Date,java.util.ArrayList” contentType=”text/html” pageEncoding=”UTF-8” session=false” isErrorPage="false" isELIgnored="false"%>

      include指令(静态包含):属性有file

    <%@include file=”filePath”%>

        例如在a.jsp中编写了<%@include file=b.jsp%>,就表示将a.jsp翻译之后的java源程序和b.jsp翻译生成的java源程序合并在一起,然后将其编译生成一个.class文件。我们通常采用这种方式做到页面的重复使用,例如web站点中每一个页面都有相同的头和相同的尾,我们可以单独将头和尾定义成单独的jsp文件,在我们使用的时候直接使用include引入即可,这样可以大大减少重复代码。但是需要引起注意的是,两个java源程序合并成一个java源程序,必须保证这两个java源程序中没有相同变量的定义。因为在同一个域中变量名是不能重名的。

      taglib指令(标签库):属性有prefix、uri

    <%@taglib   %>

        为了让JSP看起来更加的专业(只做页面展示),减少jsp页面中java代码的数量,我们引入了标签库,使用了标签库之后JSP程序中不再出现太多的java程序了,这样JSP页面看起来主要工作就是页面展示

    <%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>

    jsp文件中的动作:action

      forward动作:

    <jsp:forward page=”/2.jsp” />

        等同Servletrequest.getRequestDispatcher(/2.jsp).forward(req,resp)方法。

      include动作(动态包含):

    <jsp:include page="/b.jsp"></jsp:include>

        假如在a.jsp页面中编写了以上代码,运行原理是将a.jsp文件翻译成java源程序并且将其编译生成a.class文件,将b.jsp文件翻译生成java源程序,编译生成b.class文件,然后通过a.class去动态包含b.class。在a.jspb.jsp页面中可以有相同的变量名,因为他们在执行的时候表示a.class中的方法调用b.class中的方法,这些变量即使重名,它们也不属于同一个域。

  • 相关阅读:
    Gstreamer 随笔
    Git 提交(commit)没有自动生成Change-Id导致无法push
    xmake构建C/C++编译环境
    编译configure常用参数详解
    ubuntu上安装meson & 如何使用meson编译C代码
    如何使用autotools/automake自动生成Makefile文件
    如何扩大镜像文件容量
    Mac OS X 键盘快捷键
    django 文件目录结构
    oh-my-zsh 更换主题后特殊字符显示错误
  • 原文地址:https://www.cnblogs.com/luna-hehe/p/14582587.html
Copyright © 2020-2023  润新知