1、时间
当前时间是:<%=new Date().toLocaleString() %><br/>
当前时间是:2011-7-10 20:52:05
<%
Date now=new Date();
String dateStr=String.format("%tY年%tm月%td日",now,now,now);
%>
当前日期是<%=dateStr %><br/>
当前日期是2011年07月10日
2、JSP文件的组成
JSP指令标签<%@ page language="java" import="java.util.*" pageEncoding="GB18030"%>
HTML语言代码
嵌入的Java代码
JSP动作标签<jsp:forward />将用户请求转发给另外一个JSP页面或者servlet处理
3、JSP指令,page、include、taglib
(1)<%@ page language="" extends="" import="" pageEncoding="" contentType="" session="" buffer="" autoFlush="" info="" isErrorPage="" errorpage="" isELIgnored=""%>,其中extends在页面执行之前被解析成servlet
(2)<%@ include file="date.jsp" %> date.jsp文件的java代码以静态方式导入到当前文件,然后被服务器执行
(3)<%@ taglib prefix="" uri="" %>加载用户自定义标签
4、嵌入java代码
<%@ page language="java" import="java.util.*" pageEncoding="GB18030"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>My JSP 'index.jsp' starting page</title>
</head>
<body>
<%long startTime=System.nanoTime(); %>
<%
for(int i=1;i<=9;i++)
{
for(int j=1;j<=i;j++)
{
out.print(i+"*"+j+"="+i*j+"\t");
}
out.print("<br>");
}
%>
<%long endTime=System.nanoTime(); %>
耗时:<%out.println((endTime-startTime)+"毫秒"); %>
</body>
</html>
运行结果:
1*1=1
2*1=2 2*2=4
3*1=3 3*2=6 3*3=9
4*1=4 4*2=8 4*3=12 4*4=16
5*1=5 5*2=10 5*3=15 5*4=20 5*5=25
6*1=6 6*2=12 6*3=18 6*4=24 6*5=30 6*6=36
7*1=7 7*2=14 7*3=21 7*4=28 7*5=35 7*6=42 7*7=49
8*1=8 8*2=16 8*3=24 8*4=32 8*5=40 8*6=48 8*7=56 8*8=64
9*1=9 9*2=18 9*3=27 9*4=36 9*5=45 9*6=54 9*7=63 9*8=72 9*9=81
耗时:205613毫秒
5、声明全局变量和全局方法
可供本页JSP访问,即整个JSP页面需要引用的。
定义全局变量
<%!Date now=new Date(); %><br/>
定义全局方法
<%!
int getMax(int a,int b)
{
int max= a>b?a:b;
return max;
}
%><br/>
6、JSP表达式
访问系统自带的和自己定义的, JSP表达式<%=Math.PI%><br/>
7、动态注释
<!-- <%=new Date()%> --><!-- 运行时查看源码能看到时间 -->
8、再说jsp标签
index.jsp
<%@ include file="top.jsp" %>
<jsp:forward page="addUser.jsp">
<jsp:param value="会会" name="name"/>
</jsp:forward>
index.jsp包含了top.jsp,然后转发到addUser.jsp,同时提供参数
top.jsp
<body>
我是头部,欢迎你的光临!
<hr/>
</body>
addUser.jsp
<%@ page language="java" import="java.util.*" pageEncoding="GB18030"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>My JSP 'addUser.jsp' starting page</title>
</head>
<body>
<%@ include file="top.jsp" %>
<form action="index.jsp" method="post" name="myForm">
<table>
<tr>
<td align="center" colspan="2">
<h3>添加用户</h3>
</td>
</tr>
<tr>
<td>姓名</td>
<td><input type="text" name="name"/></td>
</tr>
<tr>
<td>性别</td>
<td>
<input type="radio" name="sex" value="男"/>
<input type="radio" name="sex" value="女"/>
</td>
</tr>
<tr>
<td align="center" colspan="2">
<input type="submit" value="添加"/>
<input type="reset" value="重置"/>
</td>
</tr>
</table>
</form>
</body>
</html>
很明显这是一个死循环,addUser提交之后不会显示index.jsp页面。
9、课后练习题
第一题:
<%String name="我是字符串,哈哈~"; %>
<%=name %>
第二题:
<%
Date d=new Date();
String s=String.format("%tY年%tm月%td日%tH时%tM分%tS秒",d,d,d,d,d,d);
%>
<%=s %>
第三题:
<%
int r=1;
for(int i=5;i>1;i--)
{
r=r*i;
out.print(i+"*") ;
}
out.println("1="+r);
%>
第四题:
<%
out.print("<br>");
for(int j=0;j<3;j++)
{
for(int k=0;k<2-j;k++)
{
out.print(" ");
}
for(int t=1;t<=2*j+1;t++)
{
out.print("*");
}
out.print("<br>");
}
%>
运行结果:
第一题: 我是字符串,哈哈~
第二题: 2011年07月10日21时33分22秒
第三题: 5*4*3*2*1=120
第四题:
*
***
*****