JavaWeb开发----jsp语法

本文详细介绍了JSP页面的基本构成,包括声明变量和方法、Java程序片、表达式、注释、指令标记如contentType和pageEncoding的用法,以及include、forward和useBean等动作标记的功能。这些是理解和创建JSP页面的基础知识。

目录

2.1 JSP页面的基本结构

2.2 声明变量和定义方法

2.3 Java程序片

 2.4 Java表达式

2.5 JSP中的注释

2.6JSP指令标记 

2.7 JSP动作标记 


2.1 JSP页面的基本结构

在传统的HTML页面文件中加入Java程序片和JSP标记就构成了一个JSP页面。一个JSP页面可由5种元素组合而成:
1 普通的HTML标记和JavaScript标记

2 JSP标记,如指令标记,动作标记。

3 变量和方法的声明

4 Java程序片

5 Java表达式

2.2 声明变量和定义方法

在“<%!”和“%>”标记符号之间声明变量和定义方法。“<%!”和“%>”标记符号的内容习惯上放在JSP页面指令之后,<HTML>之前,也可以写在<HTML>与</HTML>之间。

1.声明变量

“<%!”和“%>”之间声明的变量在整个JSP页面内都有效,与“<%!” “%>”标记符在JSP页面中所在的书写位置无关,但习惯上把“<%!”“%>”标记符写在JSP页面的前面。

例:

<%!        int i = 666;

%>

2.定义方法和类

在“<%!”和“%>”标记符号之间定义方法后,可以在Java程序片中调用该方法。

例:

<%!        

        int sum(int x , int y){

                return x+y;

        }

%>

在“<%!”和“%>”标记符号之间定义类后,可以在Java程序片中使用该类创建对象。

例:

<%!

        public class Num {

                ......

        }

%>

2.3 Java程序片

  Java程序片就是一段Java语句,可以在“<%”和“%>”之间插入Java程序片。

一个JSP页面可以有许多程序片,这些程序片将被 Tomcat服务器按顺序执行。在程序片中声明的变量称作JSP页面的局部变量。局部变量的有效范围与其声明的位置有关,即局部变量在JSP页面后继的所有程序片以及表达式部分内都有效。

Java程序片可以写在<HTML>之前,也可以写在<HTML>和</HTML>之间或</HTML>之后。

例:

<%

        int x = 6;

        int y = 660;

        z = sum(x , y);

        out.println(z);

%>

 2.4 Java表达式

可以在“<%=”和“%>”之间插入一个可求值的表达式(注意:不可插入语句,“<%=”是一个完整的符号,“<%”和“=”之间不要有空格)。

Java表达式可以写在<HTML>之前,也可以写在<HTML>和</HTML>之间或</HTML>之后。

例:

<%=     x>y     %>

<%=     x+y+x%y     %>

需要注意:在JSP页面中,表达式的值被表示成一个字符串的形式,即Tomcat服务器将表达式的结果转换成字符串,然后发送给用户的浏览器。因此,在编写JSP页面时,要把Java表达式按普通的文本来使用。

2.5 JSP中的注释

注释可以增强JSP页面的可读性,使JSP页面易于维护。JSP页面中的注释分为两种:       

(1) HTML注释:在标记符号“<!--”和“-->”之间加入注释内容:

<!-- 注释内容 -->

(2) JSP注释:在标记符号“<%--”和“--%>”之间加入注释内容:

<%-- 注释内容 --%>


2.6JSP指令标记 

2.6.1 page指令标记
        page指令用来定义整个JSP页面的一些属性和这些属性的值,属性值用单引号或双引号括起来。

page指令的作用对整个JSP页面有效,与其书写的位置无关。习惯上把page指令写在JSP页面的最前面。

<%@ page 属性1 = “属性1的值” %>

<%@ page 属性2 = “属性2的值” %>

...

<%@ page 属性n = “属性n的值” %>

也可以用一个page指令指定多个属性的值,如:

<%@ page 属性1 = “属性1的值”  属性2 = “属性2的值” ... %>

page指令标记可以为contentType, import, language, session, buffer, autoFlush.isThreadSafe、pageEncoding、inform等属性指定值。

①contentType属性

<%@ page contentType = "text/html"%>

通过设置contentType属性的值让浏览器可以使用相应的解析器来解析JSP页面。

如果不使用page指令为contentType指定一个值,那么contentType属性默认值时"text/html"。JSP页面使用的page指令只能为contentType设置一个值,不允许两次使用page指令给contentType属性指定不同的值。

②pageEncoding属性

<%@ page pageEncoding = "utf-8"%>

pageEncoding属性的默认值是UTF-8。需要注意的是,和contentType的附加属性charset的值意义不同,pageEncoding属性值是定义JSP页面使用的编码,即是告诉Tomcat服务器解析器用怎样的编码解析JSP页面中的字符。

③language属性

<%@ page language = "java"%>

language属性定义JSP页面使用的脚本语言,该属性的值目前只能取"java".

langueage属性的默认值是"java",即如果在JSP页面中没有使用page指令指定该属性的值,那么JSP默认language的值为默认值。

④import属性

<%@ page import = "java.util.*"%>

import属性的作用是为JSP页面引入Java运行环境提供的包中的类,这样就可以在JSP页面的程序片部分、变量及方法定义部分以及表达式部分使用包中的类。

⑤session属性

session属性用于设置是否需要使用内置的session对象。session的属性值可以是true或false。seeion属性的默认值是true。

⑥buffer属性

<%@ page buffer = "24kb"%>

buffer属性用来指定out设置的缓冲区的大小或不适用缓冲区。buffer属性的默认值是8kb。buffer属性可以取值"none",即设置out不使用缓冲区.

⑦autoFlush属性

autoFlush属性指定out的缓冲区被填满是,缓冲区是否自动刷新。autoFlush可以取值true或false。autoFlush属性的默认值是true。当autoFlush属性取值false时,如果out的缓冲区填满,就会出现缓存溢出异常。当buffer的值时"none"时,autoFlush的值就不能设置成false。

⑧isThreadSafe属性

isThreadSafe属性用来设置访问JSP页面是否线程安全。isTreadSafe的属性值可取true或false。当isThreadSafe属性值设置为true时,JSP页面能同时响应多个用户的请求;当isThreadSafe属性值设置成false时,JSP页面同一时刻只能响应一个用户的请求,其他用户必须排队等待。isThreadSafe属性的默认值时true。

⑨info属性

<%@ page info = "常用的字符串"%>

info属性的属性值是一个字符串,其目的是为JSP页面准备一个常用但可能要经常修改的字符串。
 

2.6.2 include指令标记
如果需要在JSP页面内某处 整体嵌入一个文件,就可以考虑使用include指令标记,其格式如下:

<%@ include file = "文件的URL" %>

2.7 JSP动作标记 

2.7.1include动作标记
        include动作语法标记语法格式为:

<jsp:include page="文件的URL"/>

或 

<jso:include page="文件的URL">
    param子标记
</jsp:include>

注:当include动作标记不需要param子标记时,必须使用第一种形式。 

2.7.2param动作标记
        param标记以“名字-值”对的形式为其他标记提供附加信息,param标记不能独立使用,必须作为jsp:include,jsp:forward标记的子标记来使用。

        param动作标记的语法格式是:

<jsp:param name="参数"value "参数的值"/ >

        当该标记与jsp:include动作标记一起使用时,可以将param标记中参数的值传递到include动作标记要加载的文件中去,被加载的JSP文件可以使用Tomact服务器提供的request内置对象获取include动作标记param子标记中name给出的参数的值。 

2.7.3forward动作标记
        格式:

<>jsp:forward page="要转向的页面"/>

或 

<jsp:forward page="要转向的页面"/>
    param子标记
</jsp:forward>

  该指令的作用是:从该指令处停止当前页面的执行,而转向执行page属性指定的JSP页面。当forward动作标记不需要param子标记时,必须使用第一种形式。 

2.7.4useBean动作标记
        用来创作并使用一个Javabean。

总结:本节主要讲了jsp页面的基本结构和几个重要的动作标记,要读懂并建立jsp页面程序,认识并熟用这些是必不可少的能力。


评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值