目录
2.4 Java表达式
前言
本章主要内容为:jsp页面的基本结构、声明变量和定义方法、java程序片、java表达式、jsp指令标记、jsp动作标记。
提示:以下是本篇文章正文内容,下面案例可供参考
2.1 JSP页面的基本结构
在传统的HTML页面文件中加入Java程序片和JSP标记就构成了一个JSP页面。一个JSP页面可由5种元素组合而成:
- 普通的HTML标记和JavaScript标记。
- JSP标记,如指令标记,动作标记。
- 变量和方法的声明。
- Java程序片。
- Java表达式。
当tomcat服务器上的一个JSP页面被第一个请求执行时,Tomcat服务器首先将JSP页面文件转译成一个java文件,再将这个java文件编译生成字节码文件,然后通过执行字节码文件响应用户的请求。这个字节码文件的任务就是:
- 把JSP页面中的普通的HTML标记和JavaScript标记交给用户端浏览器执行显示。
- JSP标记、方法的定义、java程序片由服务器负责处理和执行,将需要显示的结果发送给用户端浏览器。
- Java表达式由服务器负责计算,并将结果转化成字符串,然后交给用户端浏览器负责显示。
2.2 声明变量和定义方法
2.2.1 声明变量
“<%!和%>”之间声明的变量在整个JSP页面内都有效,与“<%!” “%>”标记符在JSP页面中所在的书写位置无关
<%@page contentType = "text/html"%>
<%@page pageEncoding = "utf-8"%>
<HTML><body bgcolor = yellow>
<%!
int i = 0;
%>
<%!
i++;
%>
< p style = "font-family:宋体;fomt-size:36">
您是第 <% = i%>个访问本站的用户。
</p>
</body></HTML>
2.2.2 定义方法和类
可以在“<%!” “%>”标记符号之间定义方法,可以在Java程序片中调用该方法。方法内声明的变量只在该方法内有效,当方法被调用时,方法内声明的变量被分配内存,方法被调用完毕即可释放这些变量所占的内存
2.3 Java程序片
可以在“<%”和“%>”之间插入Java程序片。一个JSP页面可以有许多程序片,这些程序片将Tomcat服务器按顺序执行。在程序片中声明的变量称作JSP页面的局部变量。局部变量的有效范围与其声明的位置有关,即局部变量在JSP页面后继的所有程序片以及表达式部分内都有效。Tomcat服务器将JSP页面转译成Java文件时,将各个程序片的这些变量作为类中某个方法的变量,即局部变量。
HTML中的标记
<%
Java程序片
%>
HTML中的标记
<%
Java程序片
%>
HTML中的标记
2.4 Java表达式
可以在“<%=” “%>”之间插入一个可求值的表达式(注意:不可插入语句 ,“<%=”是一个完整的符号,“<%”和“=”之间不要有空格)。
表达式的值由服务器负责计算,并将计算结果用字符串形式发送到用户端显示
需要注意的是,在JSP页面中,表达式的值被表示成一个字符串的形式,即Tomcat服务器将表达式的结果转换成字符串,然后发送给用户的浏览器。因此,在编写JSP页面时,要把Java表达式按普通的文本来使用。
2.5 JSP中的注释
1.HTML注释:
<!-- 注释内容 -->
2.JSP注释:
<% -- 注释内容 -- %>
2.6 JSP指令标记
2.6.1 page指令标记
page指令标记可以为 contentType、improt、language、session、buffer、autoFlush、isThreadSafe、pageEncoding、inform等属性指定值。
2.6.2 include 指令标记
可以使用 include 指令标记在JSP页面内某处整体嵌入一个文件,格式为:
< % @ include file = "文件的URL" %>
2.7 JSP动作标记
2.7.1 include动作标记
语法为:
<jsp:include page = "文件的URL"/>
或
<jsp:include page = "文件的URL"/>
param 子标记
</jsp:include>
注意:不需要param子标记时,必须使用第一种形式。
include动作标记告诉JSP页面动态包含一个文件,即JSP页面运行时才将文件加入。
2.7.2 param动作标记
param标记以“名字-值”对的形式为其他标记提供附加信息,不能独立使用,必须作为jsp:include、jsp:forward标记的子标来使用。语法格式为:
<jsp:param name = "参数" value="参数的值" />
2.7.3 forward动作标记
语法为:
<jsp:forward page = "要转向的页面"/>
或
<jsp:forward page = "要转向的页面"/>
param 子标记
</jsp:forward>
该指令的作用是:从该指令处停止当前页面的执行,而转向执行page属性指定的JSP页面。若forward动作标记不需要param子标记时,必须使用第一种形式。