Retroceder   Foros del Web > Programación para sitios web > Java y JSP > JSP/Servlets

Respuesta
 
Herramientas Desplegado
Antiguo 23-dic-2007, 04:44   #1 (permalink)
rameau1982 ha deshabilitado el karma
 
Fecha de Ingreso: febrero-2007
Mensajes: 69
javax.servlet.ServletException: Cannot execute view page '/mail.view'

Hola!

Estoy estudiando en la universidad una asignatura basada en el desarrollo de alplicaciones web usando java servlets, tomcat, Model-view-controller, y un framework inventado por mi profe que es una simplificación de struts (usamos su .jar para implementar todas las classes de su framework y nos ha dicho que todo funciona correctamente y que no podemos modificar sus classes). Se ha inventado un lenguaje llamado VIEW.

Las páginas dinámicas acaban con el sufijo .view



Estoy haciendo una aplicación web en la que los usuarios se logean con un password en una base de datos postgresql (esto funciona bien) y reciben/envían mensajes a los otros usuarios registrados.

Uso eclipse y todo está bien compilado, sin errores y el.war desplegado en el tomcat correctamente.

Cuando un usuario se logea correctamente, el tomcat me envía una excepción y no me muestra la página dinámica que tocaría (mail.view).

Pongo el código de mail.view:


Código:
<?xml version="1.0" encoding="ISO-8859-1"?>

<v:view xmlns:v="http://soft0.upc.es:8080/web/NS/webfw/view"
 xmlns:b="/base.vlib"
 component-element-prefixes="b">
<HTML>
<HEAD>
 <TITLE>Disseny d'aplicacions WEB: P3</TITLE>
 <LINk rel="stylesheet" href="styles.css" type="text/css"/>
</HEAD>
<BODY>
<center>
<table width="700" border="0" cellspacing="0" cellpadding="0">
<tr>
<td>
<br/>

<b:set var="srv" value="${request.session.getAttribute('message_srv')}"/>

<b:if test="${not srv}">
 <h1>ERROR</h1>
 <p><span style="color: #FF0000;">Session Error</span></p>
 <hr color="#1E90FF"/>
 <a HREF="index.html">Volver</a>
</b:if>

<b:if test="${srv}">
 <H1>${srv.userName}</H1>
 
<hr color="#1E90FF"/>

<b:set var="recmess" value="${srv.receivedMessages()}"/>
<b:if test="${not recmess}">
  <H2>No hay mensajes recibidos</H2>
</b:if>

<b:if test="${recmess}">
 <H2>Mensajes recibidos:</H2>
 <FORM METHOD="POST" ACTION="delete.do">

   <!-- Lista de mensajes  -->


  <table border="2" style="border-color: #1E90FF" cellspacing="1" align="center">
     <tr>
 <td><font>remitente</font></td>
 <td><font>mensaje</font></td>
 <td><font>fecha</font></td>
 <td><font>eliminar</font></td>
     </tr>

<b:for-each var="message" items="${srv.receivedMessages()}">
<tr>
<td>${message.from}</td>
<td><pre>${message.text}</pre></td>
<td><pre>${message.date}</pre></td>
<td><input type="checkbox" name="message_id" value="${message.id}"/></td>
</tr>
</b:for-each>


  </table>
  <p><INPUT TYPE="submit" NAME="delete" VALUE="Eliminar"/></p>
 </FORM>
</b:if>

 <hr color="#1E90FF"/>

<FORM METHOD="POST" ACTION="send.do">
<font>Destinatario/s:</font><br/>
<select name="receiver" multiple="multiple">

<b:for-each var="user" items="${srv.userListToSend()}">
  <option value="${user.name}">${user.name}</option>"
</b:for-each>

</select>
<br/>
<font>Mensaje:</font>

  <p><TEXTAREA NAME="message" ROWS="10" COLS="100"></TEXTAREA></p>
  <p><INPUT TYPE="submit" NAME="send" VALUE="Enviar"/></p>
 </FORM>

 <hr color="#1E90FF"/>
 <FORM METHOD="POST" ACTION="logout.do">
  <p><INPUT TYPE="submit" VALUE="Logout"/></p>
 </FORM>
</b:if>

</td>
</tr>
</table>
</center>
</BODY>
</HTML>
</v:view>
Me parece que el problema está en:

<b:set var="srv" value="${request.session.getAttribute('message_srv ')}"/>

porque si pongo value="hola" me sale otra excepción (me dice que no lo cuadran todos los métodos que vienen después, como es lógico)



Alguien me puede ayudar???



La excepción de tomcat:

Código:
Estado HTTP 500 - 

--------------------------------------------------------------------------------

type Informe de Excepción

mensaje 

descripción El servidor encontró un error interno () que hizo que no pudiera rellenar este requerimiento.

excepción 

javax.servlet.ServletException: Cannot execute view page '/mail.view': webprofe.webfw.view.processor.ViewException: Error in call to component: webprofe.webfw.view.processor.ViewException: Error in call to component: webprofe.webfw.view.runtime.expression.EvalException: Undefined property 'name' on target webusr31.prac3.model.dao.UserVO@7e75d2
	webprofe.webfw.view.http.ViewServlet.process(ViewServlet.java:63)
	webprofe.webfw.view.http.ViewServlet.doPost(ViewServlet.java:108)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
	webprofe.webfw.controller.RequestMap.dispatchView(RequestMap.java:134)
	webprofe.webfw.controller.RequestMap.process(RequestMap.java:122)
	webprofe.webfw.controller.Controller.process(Controller.java:57)
	webprofe.webfw.controller.ControllerServlet.doPost(ControllerServlet.java:48)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:803)

causa raíz 

webprofe.webfw.view.processor.ViewException: Error in call to component: webprofe.webfw.view.processor.ViewException: Error in call to component: webprofe.webfw.view.runtime.expression.EvalException: Undefined property 'name' on target webusr31.prac3.model.dao.UserVO@7e75d2
	webprofe.webfw.view.runtime.tree.CallNode.invoke(CallNode.java:87)
	webprofe.webfw.view.runtime.tree.Fragment.invoke(Fragment.java:50)
	webprofe.webfw.view.runtime.tree.Page.execute(Page.java:56)
	webprofe.webfw.view.http.ViewServlet.process(ViewServlet.java:61)
	webprofe.webfw.view.http.ViewServlet.doPost(ViewServlet.java:108)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
	webprofe.webfw.controller.RequestMap.dispatchView(RequestMap.java:134)
	webprofe.webfw.controller.RequestMap.process(RequestMap.java:122)
	webprofe.webfw.controller.Controller.process(Controller.java:57)
	webprofe.webfw.controller.ControllerServlet.doPost(ControllerServlet.java:48)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:803)

causa raíz 

webprofe.webfw.view.processor.ViewException: Error in call to component: webprofe.webfw.view.runtime.expression.EvalException: Undefined property 'name' on target webusr31.prac3.model.dao.UserVO@7e75d2
	webprofe.webfw.view.runtime.tree.CallNode.invoke(CallNode.java:87)
	webprofe.webfw.view.runtime.tree.Fragment.invoke(Fragment.java:50)
	webprofe.webfw.view.components.base.IfComponent.execute(IfComponent.java:18)
	webprofe.webfw.view.runtime.tree.CallNode.invoke(CallNode.java:76)
	webprofe.webfw.view.runtime.tree.Fragment.invoke(Fragment.java:50)
	webprofe.webfw.view.runtime.tree.Page.execute(Page.java:56)
	webprofe.webfw.view.http.ViewServlet.process(ViewServlet.java:61)
	webprofe.webfw.view.http.ViewServlet.doPost(ViewServlet.java:108)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
	webprofe.webfw.controller.RequestMap.dispatchView(RequestMap.java:134)
	webprofe.webfw.controller.RequestMap.process(RequestMap.java:122)
	webprofe.webfw.controller.Controller.process(Controller.java:57)
	webprofe.webfw.controller.ControllerServlet.doPost(ControllerServlet.java:48)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:803)

causa raíz 

webprofe.webfw.view.runtime.expression.EvalException: Undefined property 'name' on target webusr31.prac3.model.dao.UserVO@7e75d2
	webprofe.webfw.view.runtime.introspection.HelperInfo.getProperty(HelperInfo.java:22)
	webprofe.webfw.view.runtime.introspection.BeanHelperInfo.getProperty(HelperInfo.java:102)
	webprofe.webfw.view.runtime.expression.PropertyExpression.evaluateWithTarget(PropertyExpression.java:26)
	webprofe.webfw.view.runtime.expression.ExpressionWithTarget.evaluate(ExpressionWithTarget.java:30)
	webprofe.webfw.view.runtime.tree.ExpressionNode.invoke(ExpressionNode.java:19)
	webprofe.webfw.view.runtime.tree.Fragment.invoke(Fragment.java:50)
	webprofe.webfw.view.components.base.ForEachComponent.processCollection(ForEachComponent.java:120)
	webprofe.webfw.view.components.base.ForEachComponent.execute(ForEachComponent.java:61)
	webprofe.webfw.view.runtime.tree.CallNode.invoke(CallNode.java:76)
	webprofe.webfw.view.runtime.tree.Fragment.invoke(Fragment.java:50)
	webprofe.webfw.view.components.base.IfComponent.execute(IfComponent.java:18)
	webprofe.webfw.view.runtime.tree.CallNode.invoke(CallNode.java:76)
	webprofe.webfw.view.runtime.tree.Fragment.invoke(Fragment.java:50)
	webprofe.webfw.view.runtime.tree.Page.execute(Page.java:56)
	webprofe.webfw.view.http.ViewServlet.process(ViewServlet.java:61)
	webprofe.webfw.view.http.ViewServlet.doPost(ViewServlet.java:108)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
	webprofe.webfw.controller.RequestMap.dispatchView(RequestMap.java:134)
	webprofe.webfw.controller.RequestMap.process(RequestMap.java:122)
	webprofe.webfw.controller.Controller.process(Controller.java:57)
	webprofe.webfw.controller.ControllerServlet.doPost(ControllerServlet.java:48)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
rameau1982 está desconectado   Responder Citando
Respuesta
No hay votos aún.


Herramientas
Desplegado

Normas de Publicación
No puedes crear nuevos temas
No puedes responder temas
No puedes subir archivos adjuntos
No puedes editar tus mensajes

BB code is Activado
Caritas están Activado
[IMG] está Activado
Código HTML está Desactivado


La Zona horaria es GMT -6. Ahora son las 03:40.


Message Board Statistics

LinkBacks Enabled by vBSEO 3.1.0

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93