3.6.1 useBean

3.6.1 useBean

useBean将创建一个脚本变量,这个脚本变量关联一个Java对象。然后访问这个脚本变量就等同于访问这个Java对象.
这是早期分离表示层和业务逻辑的手段。随着其他技术的发展,如自定义标签和表达语言,现在已经很少使用useBean方式了

实例

useBeanTest.jsp:

1
2
3
4
5
6
7
8
<html>
<head>
<title>useBean</title>
</head>
<body><jsp:useBean id="today" class="java.util.Date"/>
<%=today%>
</body>
</html>

查看Tomcat转换后的Servlet中的_jspService方法,可以看到上述代码会被转换为如下代码:

1
2
3
4
5
6
7
8
9
10
11
java.util.Date today = null;
today = (java.util.Date) _jspx_page_context.getAttribute("today",
javax.servlet.jsp.PageContext.PAGE_SCOPE);
if (today == null) {
today = new java.util.Date();
_jspx_page_context.setAttribute("today", today,
javax.servlet.jsp.PageContext.PAGE_SCOPE);
}
......
out.print(today);
......

访问这个页面,可以看到当前的日期和时间。
这里有一张图片