Foros del Web » Programación para mayores de 30 ;) » Java »

javax.servlet.ServletException: Cannot execute view page '/mail.view'

Estas en el tema de javax.servlet.ServletException: Cannot execute view page '/mail.view' en el foro de Java en Foros del Web. 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 ...
  #1 (permalink)  
Antiguo 23/12/2007, 05:44
Avatar de rameau1982  
Fecha de Ingreso: febrero-2007
Ubicación: Barcelona
Mensajes: 111
Antigüedad: 17 años, 2 meses
Puntos: 0
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)
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 10:34.