jsp页面中useBean与import区别
.<jsp:useBean />与<% import="someClass" %>的区别:
假设已经编写了一个类,现在需要引用他,那么可以这么做:
<jsp:userBean id="theId" scope="theScope" class="className" />
<%
theId.theMethod()
%>
也可以这么用:
<%@ page import="className" %>
<%
className.theMethod()
%>
两种方式有什么区别,哪个更常用?或者各有什么好处??????
最优答案:
import 只是帮你在这个页面中声明对一个类的引入,并没有使用这个类
jsp:useBean是帮你产生一个类的实例:),用import是没有直接的产生实例!但是不是说不能生成!
而jsp:useBean是直接生成的!那么效率也就不用说了吧!useBean是在ACTION里
serAttribute的实例,也就是带有数据的实 例,而import是没有实例过的CLASS,两者概
念完全不同的! 这个无所谓常用不常用的问题,假设我现在要在JSP中引用
java.util.Date这个类作为JAVABEAN
可以这样写:
<jsp:useBean id="date" scope="page" class="java.util.Date" />
<jsp:getProperty name="date" property="time" />
也可以这样写:
<%@ page import = "java.util.Date"%>
<%
Date date=new Date();
out.println(date.getTime());
%>
两种效果是一样的,
第一种是以标签的形式,即JAVABEAN来实现的,这种方式要求JAVA类中有不带参数的构
造函数,并且初始化时只能初始化不带参数的构造函数
第二种是以传统的编码方式来实现的,可以初始化带参数的构造函数,并且不需要JAVA
类中一定带有不带参数的构造函数
第一种方式适合JAVABEAN,即那些只需要简单显示属性的值,或设置属性的情况
第二种方式适合工具类的方式,例如需要对某些信息进行格式化输出等等
所以这两种方式的调用要视不同的场合下调用