У меня есть JSP, который вызывает действие с использованием тега <s:action>
:
<s:form>
<s:action name="myaction"
namespace="/utente/include" executeResult="true"
ignoreContextParams="true" var="formattazione" />
//do something
</s:form>
Вызывается действие myaction
, я могу следить за его отладкой. Он завершается нормально без ошибок, он возвращает успех, но затем возникает ошибка, и я не могу понять, какая именно.
Определение действия:
<package name="utente-include" namespace="/utente/include" extends="tiles-default">
<action name="myaction" class="com.emaborsa.doctracing.web.action.formattazione.FormattazioneCriteriUtenteAction"
method="formattazione">
<result type="tiles">mytiles.def</result>
</action>
</package>
Определение плитки:
<definition name="mytiles.def" template="/pages/empty.jsp">
<put-attribute name="body" value="/pages/mypage.jsp"/>
</definition>
Пустой.jsp:
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ taglib uri="http://tiles.apache.org/tags-tiles" prefix="tiles" %>
<tiles:insertAttribute name="body" />
Исключение:
GRAVE: Servlet.service() for servlet jsp threw exception
java.lang.NullPointerException
at org.apache.struts2.views.jsp.ComponentTagSupport.doStartTag(ComponentTagSupport.java:49)
at org.apache.jsp.pages.utente.elencoUtenti_jsp._jspx_meth_s_005fif_005f0(elencoUtenti_jsp.java:215)
at org.apache.jsp.pages.utente.elencoUtenti_jsp._jspx_meth_s_005fform_005f0(elencoUtenti_jsp.java:155)
at org.apache.jsp.pages.utente.elencoUtenti_jsp._jspService(elencoUtenti_jsp.java:87)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
.....
РЕДАКТИРОВАТЬ:
Я думал, что это работает, но это не так. На самом деле система не падает, но страница плиток не включается в страницу почты. Исключение, которое я получаю:
org.apache.tiles.impl.CannotRenderException: No request dispatcher returned for path '/../pages/common/myPage.jsp'
at org.apache.tiles.impl.BasicTilesContainer.render(BasicTilesContainer.java:680)
at org.apache.tiles.impl.BasicTilesContainer.render(BasicTilesContainer.java:633)
at org.apache.tiles.impl.BasicTilesContainer.render(BasicTilesContainer.java:322)
at org.apache.struts2.views.tiles.TilesResult.doExecute(TilesResult.java:105)
at org.apache.struts2.dispatcher.StrutsResultSupport.execute(StrutsResultSupport.java:186)
at com.opensymphony.xwork2.DefaultActionInvocation.executeResult(DefaultActionInvocation.java:361)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:265)
at com.opensymphony.xwork2.interceptor.DefaultWorkflowInterceptor.doIntercept(DefaultWorkflowInterceptor.java:163)
at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:87)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
Вот мой myPage.jsp (на самом деле неважно, что там написано):
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ taglib prefix="s" uri="/struts-tags" %>
<div class="navigazioneElenco" id="navigazioneElenco">
</div>
Здесь я делюсь частью своего проекта. Есть только та часть, которая не работает... СКАЧАТЬ
<web-app...
Он уже определен. - person Emaborsa   schedule 02.10.2013<put-attribute name="body" value="/WEB-INF/pages/mypage.jsp"/>
. Если это не работает, опубликуйте дополнительную информацию: версию Struts, версию Tiles, структуру каталогов и т. д. - person Andrea Ligios   schedule 02.10.2013<jsp:include>
и теги с префиксом<s:text>
в одном и том же JSP, происходит сбой. Если я удалю один из них, он не вызовет исключений. Это нормально или это баг? - person Emaborsa   schedule 03.10.2013org.apache.tiles.impl.CannotRenderException: No request dispatcher returned for path '/../pages/common/mzPage.jsp'
- person Emaborsa   schedule 07.10.2013mypage.jsp
. Какая версия Struts2 и Tiles? - person Aleksandr M   schedule 07.10.2013<s:action>
и другие теги распорок в том же jsp. Если я использую только это `‹s:action›, это работает. - person Emaborsa   schedule 08.10.2013