useBean id是否创建了它所引用的bean类的实例?

时间:2017-06-08 13:07:42

标签: java jsp

这是一个main.JSP jsp

<html>
<body>``
      <center>
         *<h2>Using JavaBeans in JSP</h2>
         <jsp:useBean id = "test" class = "servletexample1.TestBean" />*
         <jsp:setProperty name = "test"  property = "message" 
            value = "Hello JSP..." />

         <p>Got message....</p>
         <jsp:getProperty name = "test" property = "message" />
      </center>
   </body>
</html>

这是一个TestBean类

package servletexample1;

/* File: TestBean.java */
   public class TestBean {
       private String message = "No message specified";

       public String getMessage() {
          return(message);
       }
       public void setMessage(String message) {
          this.message = message;
       }
      public static void main(String[] args)
      {
          TestBean test = new TestBean(); 
      }
    }

main.jsp中究竟是什么 test ?它是TestBean()类的实例吗?这个语句<jsp:useBean id = "test"究竟做了什么?

2 个答案:

答案 0 :(得分:0)

是的,useBean确实创建了一个实例。请注意,jsp函数只是普通java的语法糖。一切仍然像普通的java一样工作;你只需使用不同的语法。

此外,id用于在其范围内标识该bean。例如:

<jsp:useBean id="foo" class="fooClass" />

<%
    foo.PrintSomething()
%>

是的,foofooClass的实例。

答案 1 :(得分:0)

是的,当您在useBean标记中声明bean id时,它就是该类的实例,就像您创建一个实例核心java一样。 在您的代码test中是TestBean类的实例。