Posted on 2010-07-29 20:02
清流鱼 阅读(538)
评论(0) 编辑 收藏
没有在意jsp声明与jsp代码片段的区别,但发现一个奇怪之处,就做了一个测试,果然不虚!先上jsp声明代码:
1 <%@ page language="java" contentType="text/html; charset=UTF-8"
2 pageEncoding="UTF-8"%>
3 <%@ page import="java.util.Date" %>
4 <%@ page import="java.text.SimpleDateFormat" %>
5 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
6 <html>
7 <head>
8 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
9 <title>Insert title here</title>
10 <!-- 第一次请求会执行,刷新后datetime值不会变化 -->
11 <%!
12 Date date=new Date();
13 SimpleDateFormat sdf=new SimpleDateFormat("yyyy/MM/dd HH:mm");
14 String datetime=sdf.format(date);
15 %>
16 </head>
17 <body>
18 当前日期:<%=datetime %>
19 </body>
20 </html>
再上jsp代码片段代码:
1 <%@ page language="java" contentType="text/html; charset=UTF-8"
2 pageEncoding="UTF-8"%>
3 <%@ page import="java.util.Date" %>
4 <%@ page import="java.text.SimpleDateFormat" %>
5 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
6 <html>
7 <head>
8 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
9 <title>Insert title here</title>
10
11 </head>
12 <body>
13 <!-- 页面每次刷新都会执行 -->
14 <%
15 Date date=new Date();
16 SimpleDateFormat sdf=new SimpleDateFormat("yyyy/MM/dd HH:mm");
17 String datetime=sdf.format(date);
18 %>
19 当前日期:<%=datetime %>
20 </body>
21 </html>
代码非常简单,但在web服务器上运行页面时,每过一分钟刷新页面,就会发现jsp声明代码中的当前日期始终不会变化,而jsp代码片段中的当前日期就会随着系统时间而发生变化。
根据这个差别,当我们写jsp声明、jsp代码片段时就要切切注意,我们获取的变量值是不是想要动态变化的!
1 <%@ page language="java" contentType="text/html; charset=UTF-8"
2 pageEncoding="UTF-8"%>
3 <%@ page import="java.util.Date" %>
4 <%@ page import="java.text.SimpleDateFormat" %>
5 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
6 <html>
7 <head>
8 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
9 <title>Insert title here</title>
10
11 </head>
12 <body>
13 <!-- 页面每次刷新都会执行 -->
14 <%
15 Date date=new Date();
16 SimpleDateFormat sdf=new SimpleDateFormat("yyyy/MM/dd HH:mm");
17 String datetime=sdf.format(date);
18 %>
19 当前日期:<%=datetime %>
20 </body>
21 </html>