前言
现代Web开发中,在JSP中嵌入Java脚本不是推荐的做法,因为这样 不利于代码的维护。有很多好的,替代的方法避免在JSP中写Java脚本。本文仅做为JSP体系技术的一个了解。
类成员定义
1、将定义的代码放在<%! %>之间即可。 定义的成员将被转换为servlet类的成员。
2、可以定义任何成员方法和成员字段,static 成员 或者 实例成员都可以。
3、注意JSP/Servlet是工作在多线程环境下的,定义的成员变量要注意线程安全问题。一般建议使用_jspService方法中 的局部变量。
<%@ page contentType= "text/html; charset=UTF-8" pageEncoding ="UTF-8" trimDirectiveWhitespaces ="true"
session= "true"
%>
<%!
public void jspInit()
{
System.out.println( "JSP初始化工作:jspInit" );
}
public void jspDestroy()
{
System.out.println( "JSP清理工作:jspDestroy" );
}
private final int a = 100;
%>
<! DOCTYPE html>
<html>
<head>
<meta http-equiv = "Content-Type" content ="text/html; charset=UTF-8">
<title> 标题</title>
</head>
<body>
this is a jsp page
</body>
</html>
小脚本片段
1、小脚本的定义使用<% %>
2、小脚本中的Java代码将被插入到_jspService方法中去,它在哪里定义,就按照顺序在那里插入。
<%@ page contentType= "text/html; charset=UTF-8" pageEncoding ="UTF-8" trimDirectiveWhitespaces= "true"
session ="true"
%>
<! DOCTYPE html>
<html>
<head>
<title> 标题</title>
</head>
<body>
<h1> 欢迎</h1>
<%
int a = 100+10;
out.print( "100+10="+a + "<br />" );
out.print( "啦啦啦啦啦啦" );
%>
</body>
</html>
表达式脚本
1、<%= expression %> , 注意表达式末尾不要分号。
2、用于获取一个Java变量(对象)的 字符串文本表示。默认是调用对象的toString方法获得
<! DOCTYPE html>
<html>
<head>
<meta http-equiv = "Content-Type" content ="text/html; charset=UTF-8">
<title> 标题</title>
</head>
<body>
<h1> 欢迎</h1>
现在时间: <%= (new Date()).toLocaleString() %>
用户名: <%= user.getName() %>
</body>
</html>