只是引用的话一般用第一种
要用jsp赋值的话一般选择第二种

解决方案 »

  1.   

    JSP技术手册里有讲到的!建议have a look!
      

  2.   

    如果是子标签两个都一样,如果是父标签用2)<jsp:useBean ......>...</jsp:useBean>
      

  3.   

    ------在APPLICATION中产生两个同名的BEAN customer;所以,<jsp:getProperty name="customer" property="name" /> 和独立的<jsp:setProperty name="customer" property="name" value="Amy" /> 找的都是第一个BEAN
      

  4.   

    bean里边还是JAVA代码啊TO:sunxutx(孤云挂月) 
    可是第一种方法不也可以初始化吗?我只是想知道,两种初始化方式的不同。特别是在一个SCOPE中。比如上边所说的APPLICATION中。是不是第一种用法不会去搜APPLICATION范围内已有的JAVABEAN?谢谢~~
      

  5.   

    ------在APPLICATION中产生两个同名的BEAN customer;所以,<jsp:getProperty name="customer" property="name" /> 和独立的<jsp:setProperty name="customer" property="name" value="Amy" /> 找的都是第一个BEAN
      

  6.   

    谢谢楼上兄台的帮助,小弟有点眉目了。我还以为只会产生一个BEAN CUSTOMER。那么按我第次执行的顺序,也就是先执行b.asp,再执行a.asp。SERVLET CONTAINER是如何知道哪个是第一个BEAN呢?分辩哪个是“第一个BEAN”是不是就与用上边哪一种方法去初始化有关呢?请再指点一二。谢谢谢谢~~~
      

  7.   

    请查看container将jsp编译成的java文件,就自然明白了。
      

  8.   

    OK。谢过楼上兄台。我找到是这儿的问题:
          if (_jspx_specialcustomer == true) {        out.write("\r\n\t");        JspRuntimeLibrary.introspecthelper(pageContext.findAttribute("customer"),
                                               "name", "Amy", null, null, false);        out.write("\r\n");      }
    可是我刚在APACHE网站上找不到introspecthelper()和findAttribute()方法的源代码,能否告诉这个方法的意思。谢谢谢谢~~~我用的是TOMCAT4.0.6,或者能提供一下该版本的源码下载地址(小弟没搜到:( )也行。谢谢谢谢~~~
      

  9.   

    introspecthelper(java.lang.Object bean, java.lang.String prop, java.lang.String value, javax.servlet.ServletRequest request, java.lang.String param, boolean ignoreMethodNF) 
     
    能不能告诉我这个方法的作用?APACHE没有解释
      

  10.   

    感觉应该是Container装载的问题,应该和标签无关吧
      

  11.   


    b.jsp:<jsp:useBean id="customer" class="scwcd.ch11.CustomerBean" scope="application">
    <jsp:setProperty name="customer" property="name" value="Amy" />
    </jsp:useBean>
    Hi,<jsp:getProperty name="customer" property="name" />========================================================================================改成b.jsp:<jsp:useBean id="customer" class="scwcd.ch11.CustomerBean" scope="application">
    </jsp:useBean>
    <jsp:setProperty name="customer" property="name" value="Amy" />
    Hi,<jsp:getProperty name="customer" property="name" />
    试试,你原来的写法根本不是jsp:userBean的问题
    ========================================================================================
      

  12.   

    先谢过楼上诸位兄台的帮助。研究了大半天,楼上兄台的写法是没错,不过我要的是JAVABEAN的初始化方式。因此与</jsp:usebean>有关。如果把初始化包围在里边,运行时先会查找CONTAINER中有没有同样的BEAN实例,有的话就使用原用的BEAN实例。换句话说<jsp:setProperty name="customer" property="name" value="Amy" />这句就不会执行。如果没有相同的实例,则创建一个新的BEAN实例。而且CONTAINER也会在<jsp:useBean>内包含的<jsp:setProperty>元素进行初始化。而用第一种方法不会去查找有没有相同的BEAN实例,自己总会创建一个使用。这就是小弟总结出来的。楼上兄台的方法就是第一种了。换言之,这是与标签有关,因为标签的形式决定了CONTAINER的LOAD形式。OK,问题解决。散分。
      

  13.   

    对了,我只是在APPLICATION这个范围内做的测试,其他范围还没测,有兴趣的朋友可以测一下。~