08Java Server Pages 语法

Java Server Pages 语法


 基础语法

注释

<!--   -->可以在客户端通过源代码看到;<%--   --%>在客户端通过查看源代码看不到。

<!--浏览器可以看到代码的注释-->
<%--浏览器不能查看源代码的注释--%>

 

JSP指令

        JSP指令控制对整个页面的处理,如提供整个JSP网页相关的信息,并且用来设定JSP网页的相关属性,例如:网页的编码方式、语法、信息等,还可以确定要导入的包及要实现的接口,可以引入其他文件,可以使用的JSP标签等。JSP指令有3种,即page、include、和taglib;JSP指令语法:<%@ 指令名称 属性1="属性值1" 属性n="属性值n" %>

page指令

        page指令是最复杂的JSP指令,它的主要功能为设定整个JSP网页的属性和相关功能。page指令语法:<%@ page 属性1="属性值1" 属性n="属性值n" %>

<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%>

 

属性

描述

language=“java”

主要指定JSP Container要用什么来编译JSP网页,目前只可以使用Java语言。

extends=“className”

主要定义此JSP网页产生的Servlet是继承哪个父类。

import=“importList”

主要定义此JSP网页可以使用哪些Java包或类。

session=“true|false”

决定此JSP网页是否可以使用session对象,默认值是true。

buffer=“none|n kb”

决定输出流是否有缓冲区。默认为8KB的缓冲区。

autoFlush=“true|false”

决定输出流的缓冲去是否要自动清除,缓冲区面了会产生异常。默认值为true。

isThreadSafe=“true|false”

主要告诉JSP Container,此JSP网页能处理超过一个以上的请求。默认值为true,并且,不建议设置为false。

info=“text”

主要表示此JSP的相关信息。

errorPage=“error_url”

表示如果发生异常错误时,网页会被重新指向哪一个URL。

isErrorPage=“true|false”

表示此JSP页面是否为处理异常错误的网页。

contentType=“ctinfo”

表示MIME类型和JSP网页的编码方式。

pageEncoding=“ctinfo”

表示JSP网页的编码方式。

isELIgnored=“true|false”

表示是否在此JSP网页中执行或忽略EL表达式。如果为true时,JSP Container将忽略EL表达式;反之为false时,EL表达式将会被执行。

 注意:只有import这个属性可以设定多次,其他则只能设定一次。

include指令

         include指令用于在JSP编译时插入一个文本或代码的文件,这个过程是静态的,而包含的文件可以是JSP、HTML、文本文件,或Java代码等。 include指令语法:<%@ include file="文件路径" %> 

taglib指令

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
<%@ taglib prefix="sql" uri="http://java.sun.com/jsp/jstl/sql" %>
<%@ taglib prefix="x" uri="http://java.sun.com/jsp/jstl/xml" %>
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>

核心标签

格式化标签

SQL 标签

XML 标签

JSTL 函数

         taglib指令的作用是在JSP页面中将标签库描述文件(TLD)引入到该页面中,并设置前缀利用标签的前缀去使用标签库描述符文件中的标签。标签描述符文件为XML格式,包含一系列标签的说明,它的文件后缀名是.tld。taglib指令语法:<%@ taglib uri="标签库描述符文件" prefix="别名" %> ;uri属性,主要指明了标签库描述符文件的存放位置;prefix属性,主要用来区分多个标签库。首先我们要把标签库的jar包导入到项目中,这里我们举例用jstl标签,那么我们需要把standard-1.1.2.jar和jstl-1.1.2.jar拷贝到项目WEB-INF/lib文件夹下,并导入项目,jar包的版本可能不是1.1.2,也可能是别的版本,看需要导入。taglib.jsp的代码

<%@ page language="java" contentType="text/html;   charset=UTF-8"

      pageEncoding="UTF-8"%>

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

<html><head>

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">

<title>taglib指令</title>

</head>

<body><c:out value="我使用了jstlc标签"></c:out></body></html>

 注意:我们导入的JSTL库是JSP标准标签函数库           Standard Taglib Website.

JSP脚本元素

       使用JSP脚本元素可将Java代码嵌入JSP页面里,使JSP将静态内容与动态内容分离开来(静态内容指刷新网页后绝对不会发生变化的内容,动态内容指刷新网页后可能会发生变化的内容)JSP脚本元素用于生成动态内容。JSP页面由3个脚本元素组成,即表达式、代码片段和声明。

表达式

    JSP表达式语法如下:<%= Java表达式%>

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>JSP表达式的使用</title>
</head>
<body>
<h1>JSP表达式</h1><br>
<b>PI的值:</b><%=Math.PI%><br>
<b>100,99中的最大值:</b><%=Math.max(100,99)%><br>
<b>100,99中的最小值:</b><%=Math.min(100,99)%><br>
<b>3 + (2 - 5)的值:</b><%=3 + 2 - 5%><br>
<b>3 + 2 == 5的值:</b><%=(3 + 2) == 5%><br>
<b>3 + 2 != 5的值:</b><%=(3 + 2) != 5%>
</body>
</html>

 代码片段

    代码片段就是在<% ┅┅ %>里面嵌入Java代码。在形式上,代码片段和表达式的区别就是在<% ┅┅ %>中没有“=”,而且中间是一段Java代码,不是表达式,每条Java语句要以分号结尾,其实就是Java代码片段。JSP代码片段的基本语法如下:<% Java代码 %>

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>JSP 代码片段示例</title>
</head>
<body>
<h1>JSP 代码片段示例</h1><br>
<%
    for (int i = 1; i <= 9; i++) {
        for (int j = 1; j <= i; j++) {
            out.println(i + "*" + j + "=" + (i*j));
            out.println("&nbsp;&nbsp;");
        }
        out.println("<br>");
    }
%>
</body>
</html>

声明

    JSP声明用于定义JSP页面中的变量,常量和方法。JSP声明语法:<%! Java变量,方法等 %>

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@ page import="java.util.Date,java.text.SimpleDateFormat" %>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>声明</title>
</head>
<body>
<h1>JSP 声明</h1><br>
<%!
    final String DATETIME_FORMAT = "yyyy/MM/dd HH:mm";
    Date dt = null;
    public String getFormatedDateTime(Date date) {
        SimpleDateFormat sdf = new SimpleDateFormat(DATETIME_FORMAT);
        String datetime = sdf.format(date);
        return datetime;
    }
%>
<%
    dt = new Date();
%>
<h1>未格式化的日期:</h1><%=dt%><br>
<h1>格式化后的日期:</h1><%=getFormatedDateTime(dt)%>
</body>
</html>

动作

    JSP动作允许在页面间转移控制权。JSP动作语法<jsp:动作名></jsp:动作名>。

<jsp:include page="easy.jsp" flush="false"></jsp:include>

 

转载于:https://www.cnblogs.com/Aha-Best/p/10881592.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值