Jsp标签
1、 <jsp:useBean>标签
2、 <jsp:useBean>标签用于在指定的域范围内查找指定名称的JavaBean对象:
1) 如果存在则直接返回该JavaBean对象的引用。
2) 如果不存在则实例化一个新的JavaBean对象并将它以指定的名称存储到指定的域范围中。
3、 常用语法:
<jsp:useBean id="beanName" class="package.class"
scope="page|request|session|application"/>
id属性用于指定JavaBean实例对象的引用名称和其存储在域范围中的名称。
class属性用于指定JavaBean的完整类名(即必须带有包名)。
scope属性用于指定JavaBean实例对象所存储的域范围,其取值只能是page、request、session和application等四个值中的一个,其默认值是page。
4、Tip:<jsp:useBean>执行原理
1) <jsp:useBean id="currentDate" class="java.util.Date"/>
2) 翻译成的Servlet源码:
java.util.Date currentDate = null;
synchronized (_jspx_page_context) {
currentDate = (java.util.Date) _jspx_page_context.getAttribute(
"currentDate", PageContext.PAGE_SCOPE);
if (currentDate == null){
currentDate = new java.util.Date();
_jspx_page_context.setAttribute("currentDate",
currentDate, PageContext.PAGE_SCOPE);
}
}
5、带标签体的<jsp:useBean>标签
1)语法:
<jsp:useBean ...>
Body
</jsp:useBean>
2) 功能:
Body部分的内容只在<jsp:useBean>标签创建JavaBean的实例对象时才执行。
带标签体的<jsp:useBean>标签
6、<jsp:getProperty>标签
1)<jsp:getProperty>标签用于读取JavaBean对象的属性,也就是调用JavaBean对象的getter方法,然后将读取的属性值转换成字符串后插入进输出的响应正文中。
2)语法:
<jsp:getProperty name="beanInstanceName" property="PropertyName" />
ü name属性用于指定JavaBean实例对象的名称,其值应与<jsp:useBean>标签的id属性值相同。
ü property属性用于指定JavaBean实例对象的属性名。
3)如果一个JavaBean实例对象的某个属性的值为null,那么,使用<jsp:getProperty>标签输出该属性的结果将是一个内容为“null”的字符串。