JSP实用教程-JSP语法

本文介绍了JSP页面的构成,包括HTML标记、JSP标记、变量和方法声明、Java程序片及表达式的使用。同时详细讲解了JSP指令标记如contentType、pageEncoding以及include、forward、useBean等动作标记的功能和用法。
摘要由CSDN通过智能技术生成

目录

一.JSP页面的基本结构

一个JSP页面可由5种元素组合而成:
1.普通的HTML标记和JavaScript标记;
2.JSP标记,如指令标记、动作标记;
3.变量和方法的声明;
4.Java程序片;
5.Java表达式;


二、声明变量和定义方法

     在“<%!”和“%>”标记符号之间声明变量和定义方法。

1.声明变量

“<%!”和“%>”标记符号之间声明的变量在整个JSP页面内都有效

例:

<%@ page contentType="text/html" %>  
<%@ page pageEncoding = "utf-8" %>  
<HTML><body bgcolor=yellow>
<%! int i=0;
%>
<% i++;
%>
</body></HTML> 

2.定义类和方法

可以在"<%! "和 "%>"标记符号之间定义方法,可以在Java程序片中调用该方法。方法内声明的变量只在该方法内有效。

例:

<%@ page contentType = "text/html" %>  
<%@ page pageEncoding = "utf-8" %>  
<HTML><body bgcolor = #ffccff>
<%! double multi(double x,double y){ //定义方法
        return x*y;
    }
    class Circle { //定义类
        double r;
        }
%>
</p></body></HTML>


三、Java程序片

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

可以在"<%"和 " %>"之间插入Java程序片。

Tomcat服务器使用多线程来处理程序片,特点如下:
1)操作jsp页面的成员变量;
2)调用jsp页面的方法;
3)操作局部变量;

PS:运行在不同线程中的Java程序片的局部变量互不干扰


四、Java表达式

在“<%=”和“%>”之间插入一个可求值的表达式

:“<”和“%”之间、“<%”和“@”、“!”、“=”之间都不能有空格。


五、JSP中的注释

(1)HTML注释

在标记符号"<! --“和”–>"之间加入注释内容。

(2)JSP注释

在标记符号"<%–“和”–%>"之间加入注释内容。


六、JSP指令标记 

1.page指令标记

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

page指令的作用对整个JSP页面有效,与其页面书写位置无关。

例:

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

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

...

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

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

page指令标记可以为contentType、pageEncoding、language、import、session、buffer、autoFlush、isThreadSafe、info等属性指定值。以下将分别讲述这些属性的设置与作用:

contentType属性

contentType属性值确定JSP页面响应的MIME类型。

我们希望用户的浏览器启用HTML解析器来解析执行所接收的信息(网页类型),则可如下设置:

<%@ page contentType=“text/html”%>

我们希望用户的浏览器启用本地的MS-Word应用程序来解析执行所接收的信息,则可如下设置:

<%@ page contentType=“application/msword”%>

:不允许两次使用page指令给contentType属性指定不同的属性值

pageEncoding属性

默认值是UTF-8,其作用是定义JSP页面使用的编码方式

<%@ page pageEncoding=“utf-8”%>

language属性

<%@ page language=“java”%>默认值是java

import属性

为JSP页面引入java运行环境提供的包中的类,以便在后续调用

<%@ page import=“包名”%>

session属性

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

buffer属性

指定out设置的缓冲区的大小或不使用的缓冲区

<%@ page buffer=“24kb”%>默认值是8kb,取值可为none。

autoFlush属性

判断out的缓冲区被填满时,缓冲区是否自动刷新。

取值为true或false,默认值为true,当buffer的值为none时,autoFlush的值不能为false。


isThreadSafe属性

用来设置访问JSP页面是否是线程安全的。

取值为true或false,默认值为true。值为true时,JSP页面能同时响应多个用户的请求,值为false时,同一时刻只能响应一个用户的请求,其他用户需排队等待。

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

<%@ page info=“字符串”%>

在JSP页面中使用getServletInfo();获取info属性的属性值。

2、include指令标记

在JSP页面出现该指令的位置处,静态嵌入一个文件。

<%@ include file=“文件的URL”%>

“文件的URL”是指:文件夹名/文件名


七、JSP动作标记

1、include动作标记

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

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

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

2、param动作标记

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

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

3、forward动作标记

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

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

4、useBean动作标记

用来创建并使用一个JavaBean

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值