JSP的相关语法

掌握JSP核心技术:HTML+Java的魔力

Java知识点总结:想看的可以从这里进入

6.3、jsp语法

jsp页面就是在HTML的基础上可以使用Java代码,所以一个jsp页面可以直接使用HTML的标签,也可以通过通过jsp的一些语法使用java代码。

  • JSP脚本语法:用来在JSP中写java代码

    <% java语句 %>
    
  • 声明语句:声明一个或多个变量、方法,以供后面的 Java 代码使用

    <%! 
       java代码
        //声明中的代码会被编译到jsp生成的java类中,而其他地方的代码会生成到jspService方法中
    %>
    
  • JSP表达式:可以把变量或者表达式输出到网页上,不需要 out.print() 就能输出数据。

    它是先转化成String,然后插入到表达式出现的地方。由于表达式的值会被转化成String,所以可以在一个文本行中使用表达式而不用去管它是否是HTML标签。表达式元素中可以包含任何符合Java语言规范的表达式,但是不能使用分号来结束表达式。

    <%=表达式 %>
    
  • 注释:

    直接使用HTML 注释:<!-- 注释内容 -->		(可以通过 HTML 源代码看到这些注释内容)
    带有 JSP 表达式的注释:<!--HTML注释内容<%=JSP 表达式%>-->	(HTML 源代码可看注释内容)
    脚本语法中使用Java注释:<% //可使用java的三种注释  %>	
    JSP隐藏注释:<%--注释内容--%>	(不显示注释)
    
  • 指令:JSP 指令在翻译阶段执行,设置整个 JSP 页面的属性。JSP 页面被执行时首先进入翻译阶段,程序会先查找页面中的 JSP 指令,并将它们转换成 Servlet。JSP 指令是在页面转换时期被编译执行的,且编译一次。

    以<%@开始 , 以%>结束

    • page指令:用来定义当前页面的相关属性。通常放在 JSP 页面的顶部。

      <%@ page contentType="text/html;charset=UTF-8" language="java" isELIgnored="false" %>
      
      属 性取 值说 明举 例
      buffernone、缓冲区大小(默认值为 8kb)指定输出流是否有缓冲区<%@ page buffer=“16kb” %>
      autoFlushtrue(默认值)、false指定缓冲区是否自动清除<%@ page autoFlush=“true” %>
      contentTypetext/html; charset = UTF-8 等指定 MIME 类型和字符编码<%@ page contentType=“text/html;charset=UTF-8” %>
      errorpage页面路径指定当前 JSP 页面发生异常时,需要重定向的错误页面<%@ page errorpage=“myerrorpage.jsp” %> 注意: isErrorpage 值必须为 true
      isErrorpagetrue、false(默认值)指定当前页面为错误页面<%@ page isErrorpage=“true” %>
      extends包名.类名指定当前页面继承的父类,一般很少使用<%@ page extends=“”%>
      import类名、接口名、包名导入类、接口、包,后JSP内使用的类需要导入<%@ page import = " java.util.Date" %>
      info页面的描述信息定义 JSP 页面的描述信息,可以使用 getServletInfo() 方法获取<%@ page info=“页面信息”%>
      isThreadSafetrue(默认值)、false是否允许多线程使用<%@ page isThreadSafe=“false” %>
      language脚本语言指定页面中使用的脚本语言<%@ page language= “java” %>
      sessiontrue(默认值)、false是否使用 session<%@ page session=“false” %>
      isELIgnoredtrue、false(默认)是否使用 EL表达式。为true时会当成字符串处理,false是计算表达式的值<%@ page isELIgnored=“false” %>
    • include指令:用于在 JSP 页面引入其它内容,如:JSP 文件、html 文件和文本文件等

      <%@ include file="URL" %>  
      
    • taglib 指令:引入标签库

      <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
      
  • 动作:控制服务器的行为,JSP 动作在请求处理阶段执行,它们只有执行时才实现自己的功能。通常用户每请求一次,动作标识就会执行一次。利用 JSP 动作可以动态地插入文件、重用 JavaBean 组件、把用户重定向到另一个页面、为 Java 插件生成 HTML 代码等。

    <jsp:action_name attribute = "value" />
    
    动作说明语法
    jsp:include页面被请求时引入一个文件<jsp:include page=“路径” flush=“是否刷新缓冲区默认false” />
    在这里插入图片描述
    jsp:userBean实例化JavaBean<jsp:useBean id = “名” class = “类路径” scope= “作用域” />
    作用域: page:在当前页面使用该 Bean 对象;
    request:在一次请求范围内使用该 Bean 对象;
    session:在一次会话范围内使用该 Bean 对
    application:在整个应用范围内使用该 Bean 对象。
    jsp:setProperty设置 JavaBean 的属性 ,在 <jsp:useBean > 标签外使用无论是否实例化对象都会执行,在内部使用只有实例化对象才会执行<jsp:setProperty name = “bean的名” property = “属性的名” value = “值”/>property 的取值为 * 时,只要request中的参数名和属性一致,系统会根据名称来自动匹配。
    jsp:getProperty获取 JavaBean 的属性<jsp:getProperty name = “bean的名” property = “属性的名”>
    jsp:forward访问当前页面时,可以转发到指令的页面<jsp:forward page=“url”/>
    jsp:plugin根据浏览器类型为Java插件生成OBJECT或EMBED标记
    jsp:element定义动态 XML 元素
    jsp:attribute设置动态 XML 元素的属性
    jsp:body设置动态 XML 元素的内容
    jsp:param动作用来传递参数信息,经常和其它动作一起使用<jsp:forward page=“index.jsp”>
    <jsp:param name=“username” value=“yu” />
    </jsp:forward >
    可以使用表达式获取name的值
    <%=request.getParameter(“username”)%>

jsp页面的初始结构:

<%--jsp页面的大致框架,文件头解决编码等问题--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" isELIgnored="false" %>
<%String path = request.getContextPath();%>		<%--jsp代码,获得项目路径--%>
<html>
    <head>
        <title>Title</title>
    </head>
    <body>
    </body>
</html>

在这里插入图片描述

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

辰 羽

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值