2.1JSP页面的基本结构
1.一个JSP页面由5种元素组和而成:
(1)普通的HTML标记和JavaScript标记。
(2)JSP标记,如指令标记,动作标记。
(3)变量和方法的声明。
(4)Java程序片。
(5)java表达式。
2.2 声明变量和定义方法
1.声明变量
"<%!"和“%>”标记符号之间声明变量在整个JSP页面内都有效,日常习惯把“<%!”和"%>"标记符写在JSP页面的前面,事实上标记符在JSP页面中所在的书写位置无关。
<%@ page contentType="text/html" %>
<%@ page pageEncoding = "utf-8" %>
<HTML><body bgcolor=yellow>
<%! int i=0;
%>
<% i++;
%>
<p style="font-family:宋体;font-size:36">
您是第<%= i %>个访问本站的用户。
</p>
</body></HTML>
2.定义方法和类
可以在“<%!”和“%>”标记符之间定义方法,也可以在Java程序片中调用该方法。
<%@ page contentType = "text/html" %>
<%@ page pageEncoding = "utf-8" %>
<HTML><body bgcolor = #ffccff>
<p style="font-family:宋体;font-size:36;color:blue">
<%! double multi(double x,double y){ //定义方法
return x*y;
}
double div(double x,double y) { //定义方法
return x/y;
}
class Circle { //定义类
double r;
double getArea(){
return 3.1415926*r*r;
}
}
%>
<% double x=8.79;
double y=20.8;
out.print("调用multi方法计算"+x+"与"+y+"之积:<br>");
out.print(multi(x,y));
out.print("<br>调用div方法计算"+y+"除以"+x+"的商:<br>");
String s =String.format("小数点保留3位:%10.3f",div(y,x));
out.println(s);
Circle circle = new Circle(); //用Circle类创建对象。
circle.r = 3.6;
out.print("<br>半径是"+circle.r+"的圆面积"+circle.getArea());
%>
</p></body></HTML>
2.3 Java程序片。
Java程序片可以写在<HTML>之前,也可以写在<HTML>和</HTML>之间或</HTML>之后。
一个JSP页面中的java程序片会按照其在页面中的顺序被执行,而且某个java程序片中声明的局部变量在其后继的所有java程序片以及表达式部分内都有效。利用java程序片的这个性质,有时候可以将一个java程序片分割成几个java程序片,然后在这些java程序片之间再插入其他标记元素。在程序片中插入HTML中的标记的技巧对于灵活显示数据是非常重要的。通常格式是:
HTML中的标记
<%
java程序片
%>
HTML中的标记
<%
java程序片
%>
HTML中的标记
2.4 java表达式
<%@ page contentType = "text/html" %>
<%@ page pageEncoding = "utf-8" %>
<HTML><body bgcolor=pink>
<% int x=12,y=9;
%>
<p style="font-family:宋体;font-size:36">
计算表达式x+y+x%y,即<%= x %>+<%= y %>+<%= x %>%<%= y %>的值:
<%= x+y+x%y %>
<br>计算表达式x>y即<%= x %> > <%= y %>的值:
<%= x>y %>
<br>计算表达式sin(<%= Math.PI %>/2)的值:
<%= Math.sin(Math.PI/2) %>
<br>
<% if(x-y>=0) {
%>
如果<%= x %>大于<%= y %>,计算<%= x %> - <%= y %>即
<%= x-y %>的平方根:
<%=Math.sqrt(x-y)%>
<% }
%>
</p></body></HTML>
2.5 JSP中的注释
(1)HTML注释:在标记符号“<! --'和"-->‘之间加入注释内容
<!--注释内容-->
(2)JSP注释:在标记符号'<%--"和”--%>“之间加入注释
<%--注释内容-->
2.6 JSP 指令标记
1.page指令标记
page指令用来定义整个JSP页面的一些属性的值,属性用单引号括起来。
(1)contenType属性
(2)pageEncoding属性
pageEncoding属性的默认值是UTF-8.用来告诉Tomcat服务器的解析器用怎样的编码来解析JSP页面中的字符。
(3)language属性。
language属性定义JSP页面使用的脚本语言,该属性的值目前只能取'java".
(4)import属性。
该属性的作用是为JSP页面引入java运行环境提供的包的类。
(5)session属性
session属性用于设置是否需要使用内置的session对象。
(6)buffer属性
内置输出流对象out负责将服务器的某些信息或运行结果发送到用户端显示。
(7)antoFlush属性
用于指定out的缓冲区被填满时,缓冲区是否自动刷新。
(8)isThreadSafe属性
用于设置访问JSP页面是否=线程安全。
(9)info属性
是一个字符串,目的是为JSP页面准备一个常用但可能要经常修改的字符串。
2.include指令标记
作用是在JSP页面出现该指令的位置处,静态嵌入一个文件,该文件的编码必须和当前JSP页面一致。
2.7JSP动作标记
1.include动作标记
<jsp:include page="文件的URL"/>
2.param动作标记
<jsp:parm name ="参数“value="参数的值”/>
3.forward动作标记
<jsp:forward page= "要转向的页面"/>
总结
以上就是今天要讲的内容,本文仅仅简单介绍了JSP页面的结构、Java程序片以及表达式,其中最重要的还是后面的指令标记和动作标记。