日期:2014-05-16  浏览次数:20421 次

JSP原理笔记(二)

JSP脚本和指令的使用

 

JSP脚本元素:表达式,Scriptlet,声明

表达式的概念
    表达式是对数据的表示,系统将其作为一个值进行计算和
    显示
表达式在JSP页面中的表现形式
    <% = Java表达式 %>
Demo代码:

<%@page contentType="text/html; charset=utf-8" %>
<html>
<head>
<title>jsp表达式demo</title>
</head>
<body>
<h1>JSP表达式</h1>
<b>PI的值</b><%=Math.PI %><br>
<b>100,233中较大的值:</b><%=Math.max(100, 233) %>
<b>100,233中较小的值:</b><%=Math.min(100, 233) %>
<b>100+233的值</b><%=100+233 %>
   <b>(3+2)==5的值 :</b><%=(3+2)==5 %><br/>
    <b>(3+2)!=5的值 :</b><%=(3+2)!=5 %><br/>

</body>
</html>

Math类所在的包为什么不需要引入,因为Math所在的包是在java.lang中,凡是这个路径中的包都是系统自动引入的,不需要程序员手动import。
演示图片:

Scriptlet:  JSP Scriptlet就是在JSP页面里嵌入一段Java代码
JSP Scriptlet在JSP页面中的表现形式
    <% Java代码 %>

Demo代码:

<%@page contentType="text/html; charset=utf-8" %>
<html>
<head>
<title>scriptlet演示页面</title>

</head>
<body>
<h1>打印九九乘法表</h1>
<%--这是程序员注释,客户端是不可见的 --%>
<!-- 这是页面注释,客户端可见 -->

<%
for(int i=1;i<=9;i++)
{
	for(int j=1;j<=i;j++)
	{
		out.print(i+"*"+j+"="+i*j+"    ");
		
	}
	out.println("<br>");
}
%>
</body>
</html>


演示页面效果:

JSP 声明的概念
     JSP声明就是在JSP页面中声明Java方法或变量等
JSP声明在JSP页面中的表现形式
     < % ! Java 代码 %>

 Demo代码:

<%@page contentType="text/html; charset=utf-8"%>
<html>
<head>
<title>JSP声明学习页面</title>
</head>
<body>
<%!
public final String author="Nicolas";
public String getFamilyName(String name){
	 char fn=name.charAt(0);//获取第一个字符,当然前提是中文名
	return name+"的姓氏为:"+fn;
}
%>
<%
	String name1="赵云";
	String name2="尉迟恭";
	String name3="秦叔宝";
	out.print("<center>");
	out.print(getFamilyName(name1));
	out.print("<br>");
	out.print(getFamilyName(name2));
	out.print("<br>");
	out.print(getFamilyName(name3));
	out.print("<br>");
	out.println("页面作者是:"+"<font color=red size=5>"+author+"</font>");
	out.print("</center>");
%>
</body>
</html>


演示页面:

JSP指令包括:page,include,taglib。

JSP 指令的语法为:
 <%@ 指令名称 属性1="属性值1" 属性2="属性值2" … 属性n="属性值n"%>

page指令中有一个属性为errorPage,例如error="error.jsp",那么当前页面出错是会自动跳转到error.jsp"中。

可能出错页面errorTest.jsp代码:

<%@ page language = "Java" import="java.util.*" buffer = "8kb" 
errorPage="error.jsp" isErrorPage="false"%>
<html>
<head>
<title>错误友好提示测试页面</title></head>
<body>
这是一个错误指向测试页面!<hr>
<%
	int a=1;
	int b=0;//b不能作为除数,否则会出错
	out.print(a/b);
%>

</body>

</html>


错误提示友好页面error.jsp代码:

<%@page contentType="text/html; charset=utf-8" isErrorPage="true" %>
<html>
<head>
<title>
错误友好提示页面
</title>

</head>
<body>
<font size=6 color="red">出错了哦⊙﹏⊙b汗</font>
<