Pues ando pidiendo ayuda, porque tengo que encargarme de un árbol dinámico que muestre los directorios del sistema, el hecho es que hasta ahorita, me he encontrado con muchos problemas puesto que el código no lo hice yo en un principio, digamos que he ido poco a poco tratando de decifrarlo entre ejemplo y ejemplo que he encontrado en internet. Pero en este punto llegué a un problema en el cuál no tengo ni la menor idea de porque me arroja un error. les muestro mi código Jsp, Action, Struts y el error arrojado en Consola esperando que alguien con más experiencia que yo me pudiera hechar la mano, en verdad mucho se los voy a agradecer.
JSP:
Cita:
Action:<%@ taglib prefix="s" uri="/struts-tags"%>
<%@ taglib prefix="sx" uri="/struts-dojo-tags"%>
<sx:head />
<script type="text/javascript">
dojo.event.topic.subscribe("treeSelected", function treeNodeSelected(node) {
location.href = "panelAction?carId=" + node.node.widgetId;
});
</script>
<!-- Menu lateral -->
<div class="cuadro K fondo_columna">
<!-- Menu lateral para los links -->
<div class="caja">
<h2>Carpetas de usuario</h2>
<s:if test="#session.usuario.usuCarpeta == true">
<div style="float: left; margin-right: 50px;">
<sx:tree id="tree" rootNode="%{carpetaDocuemntos}"
nodeIdProperty="carId" nodeTitleProperty="carNombre"
childCollectionProperty="listCarpetaDocuments"
expandIconSrcMinus="/images/plus.png"
expandIconSrcPlus="/images/minus.png"
treeSelectedTopic="treeSelected" />
</div>
</s:if>
</div>
</div>
<%@ taglib prefix="sx" uri="/struts-dojo-tags"%>
<sx:head />
<script type="text/javascript">
dojo.event.topic.subscribe("treeSelected", function treeNodeSelected(node) {
location.href = "panelAction?carId=" + node.node.widgetId;
});
</script>
<!-- Menu lateral -->
<div class="cuadro K fondo_columna">
<!-- Menu lateral para los links -->
<div class="caja">
<h2>Carpetas de usuario</h2>
<s:if test="#session.usuario.usuCarpeta == true">
<div style="float: left; margin-right: 50px;">
<sx:tree id="tree" rootNode="%{carpetaDocuemntos}"
nodeIdProperty="carId" nodeTitleProperty="carNombre"
childCollectionProperty="listCarpetaDocuments"
expandIconSrcMinus="/images/plus.png"
expandIconSrcPlus="/images/minus.png"
treeSelectedTopic="treeSelected" />
</div>
</s:if>
</div>
</div>
Cita:
Struts:public String execute() {
session = ActionContext.getContext().getSession();
usuario = (NbUsuario) session.get(ConstantsUtil.USUARIO);
listCarpetaDocuments = CarpetasDocumentosUtil.list(usuario.getUsuId());
System.out.println(usuario.getUsuId());
for (NbCarpetasDocumenotos carpetasDocumentosFor : listCarpetaDocuments) {
CarpetaDocumentos carpetas = new CarpetaDocumentos();
carpetas.setCarId(carpetasDocumentosFor.getCarId() );
carpetas.setCarNombre(carpetasDocumentosFor.getCar Nombre());
carpetas.setCarPadre(carpetasDocumentosFor.getCarP adre());
System.out.println(carpetas.getCarId() + carpetas.getCarNombre() + carpetas.getCarPadre());
guardaCarpeta(carpetas);
}
listPadres = CarpetasDocumentosUtil.listPadres();
for (Long padre : listPadres) {
System.out.println(padre);
buscaCarpeta(padre);
}
carpetaDocuemntos = linkedCarpetas.get(0);
HttpServletRequest request = (HttpServletRequest) ActionContext
.getContext().get(ServletActionContext.HTTP_REQUES T);
if (request.getParameter("carId") != null) {
listaVarios = ListarContenidoUtil.listaVarios(Long
.parseLong(request.getParameter("carId")));
id = Long.parseLong(request.getParameter("carId"));
}else{
System.out.println("No hay id de carpeta");
}
return SUCCESS;
}
session = ActionContext.getContext().getSession();
usuario = (NbUsuario) session.get(ConstantsUtil.USUARIO);
listCarpetaDocuments = CarpetasDocumentosUtil.list(usuario.getUsuId());
System.out.println(usuario.getUsuId());
for (NbCarpetasDocumenotos carpetasDocumentosFor : listCarpetaDocuments) {
CarpetaDocumentos carpetas = new CarpetaDocumentos();
carpetas.setCarId(carpetasDocumentosFor.getCarId() );
carpetas.setCarNombre(carpetasDocumentosFor.getCar Nombre());
carpetas.setCarPadre(carpetasDocumentosFor.getCarP adre());
System.out.println(carpetas.getCarId() + carpetas.getCarNombre() + carpetas.getCarPadre());
guardaCarpeta(carpetas);
}
listPadres = CarpetasDocumentosUtil.listPadres();
for (Long padre : listPadres) {
System.out.println(padre);
buscaCarpeta(padre);
}
carpetaDocuemntos = linkedCarpetas.get(0);
HttpServletRequest request = (HttpServletRequest) ActionContext
.getContext().get(ServletActionContext.HTTP_REQUES T);
if (request.getParameter("carId") != null) {
listaVarios = ListarContenidoUtil.listaVarios(Long
.parseLong(request.getParameter("carId")));
id = Long.parseLong(request.getParameter("carId"));
}else{
System.out.println("No hay id de carpeta");
}
return SUCCESS;
}
Cita:
Error:<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
<package name="panelPack" namespace="/"
extends="hibernate-default, struts-default">
<result-types>
<result-type name="tiles"
class="org.apache.struts2.views.tiles.TilesResult" >
</result-type>
</result-types>
<action name="panelAction" class="mx.netbrain.action.CarpetaDocumentosAction" >
<result name="success" type="tiles">/pantusu.tiles</result>
</action>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
<package name="panelPack" namespace="/"
extends="hibernate-default, struts-default">
<result-types>
<result-type name="tiles"
class="org.apache.struts2.views.tiles.TilesResult" >
</result-type>
</result-types>
<action name="panelAction" class="mx.netbrain.action.CarpetaDocumentosAction" >
<result name="success" type="tiles">/pantusu.tiles</result>
</action>
Cita:
De verdad si alguién me pudiese aportar una idea mucho se los voy a agradecer. ava.lang.StackOverflowError
at ognl.OgnlRuntime.getMethodValue(OgnlRuntime.java:9 19)
at ognl.ObjectPropertyAccessor.getPossibleProperty(Ob jectPropertyAccessor.java:53)
at ognl.ObjectPropertyAccessor.getProperty(ObjectProp ertyAccessor.java:121)
at com.opensymphony.xwork2.ognl.accessor.ObjectAccess or.getProperty(ObjectAccessor.java:17)
at ognl.OgnlRuntime.getProperty(OgnlRuntime.java:1643 )
at com.opensymphony.xwork2.ognl.accessor.CompoundRoot Accessor.getProperty(CompoundRootAccessor.java:106 )
at ognl.OgnlRuntime.getProperty(OgnlRuntime.java:1643 )
at ognl.ASTProperty.getValueBody(ASTProperty.java:92)
at ognl.SimpleNode.evaluateGetValueBody(SimpleNode.ja va:170)
at ognl.SimpleNode.getValue(SimpleNode.java:210)
at ognl.Ognl.getValue(Ognl.java:333)
at ognl.Ognl.getValue(Ognl.java:310)
at com.opensymphony.xwork2.ognl.OgnlUtil.getValue(Ogn lUtil.java:196)
at com.opensymphony.xwork2.ognl.OgnlValueStack.findVa lue(OgnlValueStack.java:229)
at org.apache.struts2.views.freemarker.ScopesHashMode l.get(ScopesHashModel.java:70)
at freemarker.core.Environment.getGlobalVariable(Envi ronment.java:1057)
at freemarker.core.Environment.getVariable(Environmen t.java:1043)
...
sep 28, 2012 12:08:27 PM org.apache.catalina.core.ApplicationDispatcher invoke
Grave: El Servlet.service() para servlet jsp lanzó una excepción
java.lang.StackOverflowError
at ognl.OgnlRuntime.getMethodValue(OgnlRuntime.java:9 19)
at ognl.ObjectPropertyAccessor.getPossibleProperty(Ob jectPropertyAccessor.java:53)
at ognl.ObjectPropertyAccessor.getProperty(ObjectProp ertyAccessor.java:121)
at com.opensymphony.xwork2.ognl.accessor.ObjectAccess or.getProperty(ObjectAccessor.java:17)
at ognl.OgnlRuntime.getProperty(OgnlRuntime.java:1643 )
at com.opensymphony.xwork2.ognl.accessor.CompoundRoot Accessor.getProperty(CompoundRootAccessor.java:106 )
at ognl.OgnlRuntime.getProperty(OgnlRuntime.java:1643 )
at ognl.ASTProperty.getValueBody(ASTProperty.java:92)
at ognl.SimpleNode.evaluateGetValueBody(SimpleNode.ja va:170)
at ognl.SimpleNode.getValue(SimpleNode.java:210)
at ognl.Ognl.getValue(Ognl.java:333)
at ognl.Ognl.getValue(Ognl.java:310)
...
sep 28, 2012 12:08:27 PM org.apache.catalina.core.StandardWrapperValve invoke
Grave: Servlet.service() para servlet default lanzó excepción
java.lang.IllegalStateException: No puedo llamar a sendError() tras llevar a cabo la respuesta
at org.apache.catalina.connector.ResponseFacade.sendE rror(ResponseFacade.java:451)
at org.apache.struts2.dispatcher.Dispatcher.sendError (Dispatcher.java:725)
at org.apache.struts2.dispatcher.Dispatcher.serviceAc tion(Dispatcher.java:485)
at org.apache.struts2.dispatcher.ng.ExecuteOperations .executeAction(ExecuteOperations.java:77)
at org.apache.struts2.dispatcher.ng.filter.StrutsPrep areAndExecuteFilter.doFilter(StrutsPrepareAndExecu teFilter.java:76)
at org.apache.catalina.core.ApplicationFilterChain.in ternalDoFilter(ApplicationFilterChain.java:243)
...
at ognl.OgnlRuntime.getMethodValue(OgnlRuntime.java:9 19)
at ognl.ObjectPropertyAccessor.getPossibleProperty(Ob jectPropertyAccessor.java:53)
at ognl.ObjectPropertyAccessor.getProperty(ObjectProp ertyAccessor.java:121)
at com.opensymphony.xwork2.ognl.accessor.ObjectAccess or.getProperty(ObjectAccessor.java:17)
at ognl.OgnlRuntime.getProperty(OgnlRuntime.java:1643 )
at com.opensymphony.xwork2.ognl.accessor.CompoundRoot Accessor.getProperty(CompoundRootAccessor.java:106 )
at ognl.OgnlRuntime.getProperty(OgnlRuntime.java:1643 )
at ognl.ASTProperty.getValueBody(ASTProperty.java:92)
at ognl.SimpleNode.evaluateGetValueBody(SimpleNode.ja va:170)
at ognl.SimpleNode.getValue(SimpleNode.java:210)
at ognl.Ognl.getValue(Ognl.java:333)
at ognl.Ognl.getValue(Ognl.java:310)
at com.opensymphony.xwork2.ognl.OgnlUtil.getValue(Ogn lUtil.java:196)
at com.opensymphony.xwork2.ognl.OgnlValueStack.findVa lue(OgnlValueStack.java:229)
at org.apache.struts2.views.freemarker.ScopesHashMode l.get(ScopesHashModel.java:70)
at freemarker.core.Environment.getGlobalVariable(Envi ronment.java:1057)
at freemarker.core.Environment.getVariable(Environmen t.java:1043)
...
sep 28, 2012 12:08:27 PM org.apache.catalina.core.ApplicationDispatcher invoke
Grave: El Servlet.service() para servlet jsp lanzó una excepción
java.lang.StackOverflowError
at ognl.OgnlRuntime.getMethodValue(OgnlRuntime.java:9 19)
at ognl.ObjectPropertyAccessor.getPossibleProperty(Ob jectPropertyAccessor.java:53)
at ognl.ObjectPropertyAccessor.getProperty(ObjectProp ertyAccessor.java:121)
at com.opensymphony.xwork2.ognl.accessor.ObjectAccess or.getProperty(ObjectAccessor.java:17)
at ognl.OgnlRuntime.getProperty(OgnlRuntime.java:1643 )
at com.opensymphony.xwork2.ognl.accessor.CompoundRoot Accessor.getProperty(CompoundRootAccessor.java:106 )
at ognl.OgnlRuntime.getProperty(OgnlRuntime.java:1643 )
at ognl.ASTProperty.getValueBody(ASTProperty.java:92)
at ognl.SimpleNode.evaluateGetValueBody(SimpleNode.ja va:170)
at ognl.SimpleNode.getValue(SimpleNode.java:210)
at ognl.Ognl.getValue(Ognl.java:333)
at ognl.Ognl.getValue(Ognl.java:310)
...
sep 28, 2012 12:08:27 PM org.apache.catalina.core.StandardWrapperValve invoke
Grave: Servlet.service() para servlet default lanzó excepción
java.lang.IllegalStateException: No puedo llamar a sendError() tras llevar a cabo la respuesta
at org.apache.catalina.connector.ResponseFacade.sendE rror(ResponseFacade.java:451)
at org.apache.struts2.dispatcher.Dispatcher.sendError (Dispatcher.java:725)
at org.apache.struts2.dispatcher.Dispatcher.serviceAc tion(Dispatcher.java:485)
at org.apache.struts2.dispatcher.ng.ExecuteOperations .executeAction(ExecuteOperations.java:77)
at org.apache.struts2.dispatcher.ng.filter.StrutsPrep areAndExecuteFilter.doFilter(StrutsPrepareAndExecu teFilter.java:76)
at org.apache.catalina.core.ApplicationFilterChain.in ternalDoFilter(ApplicationFilterChain.java:243)
...