Problemas con jsp:useBean

DannyO
26 de Enero del 2005
En el código de una página JSP instancio varios beans de la siguiente manera:

<jsp:useBean
id="myBean"
class="classes.control.web.myBean"
scope="session">

Usando en mi jsp el bean no tengo ningún problema, por ejemplo en una llamada así:

<% ObjectoEjemplo obj = myBean.getObjeto(); %>

Sin embargo, si en este JSP hago lo siguiente:

<%@ include file="otroJSP.jsp"%>

Me ocurre, q aunq en un principio, y si en ese otroJSP escribo el siguiente código:

<% ObjectoEjemplo obj = myBean.getObjeto(); %>

Éste no me da error y funciona correctamente, llega un momento, cuando la aplicación lleva tiempo en marcha (algún día) en q me da el siguiente error:

primerJSP_JSP: cannot resolve symbol
symbol variable myBean
location: class org.apache.jsp.primerJSP_JSP

ObjectoEjemplo obj = myBean.getObjeto();
^

Por alguna razón me ha desaparecido la referencia en ese momento, cuando hasta entonces no había habido problema. ¿ intuis porque ?

Y otra pregunta, ¿ puedo definir en "otroJSP.jsp" el mismo acceso a bean con otro identificador y utilizarlo ?

Por ejemplo:
<jsp:useBean
id="myBean2"
class="classes.control.web.myBean"
scope="session">

<% ObjectoEjemplo obj = myBean2.getObjeto(); %>

¿ Habría algun tipo de conflicto ?

Gracias de antemano

DannyO
26 de Enero del 2005
¿ De veras ha nadie le ha pasado nada parecido ? 0_o

Ken
26 de Enero del 2005
En principio no veo yo por qué debería haber conflicto.

En la página a incluir pones la misma directiva jsp:useBean y, si se llaman igual y ya hay una en sesión hará referencia a esa instancia y no creará otra.

Lo que no recuerdo es si <%@include file %> se interpreta el JSP que incluyas. Si no se interpreta, no encontrará la referencia. Prueba con <jsp:include a ver si hay diferencias (Sinceramente, no recupero si las hay).

Un saludo,

Ken