2017-07-10 47 views
-1

1.6 JDKのJBoss 5.1サーバーでstrutsとstruts-tiles 1.3を実行しているアプリケーションがあります。 私は1.8 JDKとTomcatの9サーバーに移行したら、私はエラーを取得して起動します。strutsタイル1.3 on tomcat 9 jdk 1.8 [エラー]指定されたURLのアクション設定が見つかりません

GRAVE: "Servlet.service()" pour la servlet [action] a lancé une exception 
org.apache.struts.chain.commands.InvalidPathException: No action config found for the specified url. 
    at org.apache.struts.chain.commands.AbstractSelectAction.execute(AbstractSelectAction.java:71) 
    at org.apache.struts.chain.commands.ActionCommandBase.execute(ActionCommandBase.java:51) 
    at org.apache.commons.chain.impl.ChainBase.execute(ChainBase.java:191) 
    at org.apache.commons.chain.generic.LookupCommand.execute(LookupCommand.java:305) 
    at org.apache.commons.chain.impl.ChainBase.execute(ChainBase.java:191) 
    at org.apache.struts.chain.ComposableRequestProcessor.process(ComposableRequestProcessor.java:283) 
    at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1913) 
    at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:449) 
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:634) 
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:741) 
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231) 
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) 
    at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:710) 
    at org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatcher.java:580) 
    at org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.java:516) 
    at org.apache.jasper.runtime.JspRuntimeLibrary.include(JspRuntimeLibrary.java:895) 
    at org.apache.jasper.runtime.PageContextImpl.include(PageContextImpl.java:497) 
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
    at java.lang.reflect.Method.invoke(Method.java:498) 
    at org.apache.struts.tiles.TilesUtilImpl.doInclude(TilesUtilImpl.java:129) 
    at org.apache.struts.tiles.TilesUtil.doInclude(TilesUtil.java:152) 
    at org.apache.struts.tiles.taglib.InsertTag.doInclude(InsertTag.java:764) 
    at org.apache.struts.tiles.taglib.InsertTag$InsertHandler.doEndTag(InsertTag.java:896) 
    at org.apache.struts.tiles.taglib.InsertTag.doEndTag(InsertTag.java:465) 
    at org.apache.jsp.WEB_002dINF.pages.layout.layout_jsp._jspx_meth_tiles_005finsert_005f0(layout_jsp.java:2297) 
    at org.apache.jsp.WEB_002dINF.pages.layout.layout_jsp._jspService(layout_jsp.java:647) 
    at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70) 
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:741) 
    at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:443) 
    at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:385) 
    at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:329) 
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:741) 
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231) 
.... 

いずれかが私を助けてくださいことはできますか?私は、アプリケーションのURLにアクセスしたときにエラーが発生し

<tiles:insert attribute="corner" /> 

ページをレイアウトから スニペットlayout.jspタイルテンプレートでレンダリングされます。サーバーがlayout.jsptiles:insertでタグをレンダリングする際に、具体的http://localhost:8080/myapp/authentification.do

.jsp:

<body> 
     <div id="loading"></div> 
     <c:set var="selectedTab" scope="request"><tiles:getAsString name="selectedTab"/></c:set> 

     <c:if test="${sessionScope.utilisateur !=null}"> 
      <div id="bulle"><img src="${imgBulle}" border="0" /></div> 
     </c:if> 
        <div id="corner"><tiles:insert attribute="corner" /></div> 

     <div id="container"> 
      <div id="top"> 
       <div id="title">       
        <h1><%@ include file="/WEB-INF/pages/include/title.jsp"%></h1>  
        <div id="logo"><img src="${imgLogo}" border="0" /></div> 



       </div> 
      </div> 

関連設定tiles.xml :

<definition name="page_corner" page="/WEB-INF/pages/layout/corner.jsp" /> 
<definition name="template" path="/WEB-INF/pages/layout/layout.jsp"> 
     <put name="title" value="" /> 
     <put name="corner" value="page_corner" /> 
     <put name="messages" value="Messages" /> 
     <put name="informations" value="Informations" /> 
     <put name="content" value="" /> 
     <put name="tabs" value="" /> 
     <put name="selectedTab" value="" /> 
    </definition> 

答えて

0

問題を解決してアプリケーションが実行されています。
この問題は、JSP 2.3エンジンによるものです。したがって、tiles:insertが空の値で定義された属性を呼び出すと、エラーが発生します。

空のjspファイルempty.jspを作成し、それをタイルで定義し、必要な場所で使用するという方法がありました。

対処:

<definition name="page_empty" page="/WEB-INF/pages/layout/empty.jsp" /> 

上記(問題の)テンプレート設定は次のようになります

<definition name="template" path="/WEB-INF/pages/layout/layout.jsp"> 
    <put name="title" value="" /> 
    <put name="corner" value="page_corner" /> 
    <put name="messages" value="Messages" /> 
    <put name="informations" value="Informations" /> 
    <put name="content" value="page_empty" /> 
    <put name="tabs" value="page_empty" /> 
    <put name="selectedTab" value="page_empty" /> 
</definition> 

PS:<put name="corner" value="page_corner" />templateで定義されている問題の原因が、他<put name="corner" value="" />なかったですで定義され、templateを拡張します。

<definition name="tiles_login" extends="template"> 
    <put name="title" value="application.authentification.title" /> 
    <put name="corner" value="" /> 
    <put name="bandeau" value="" /> 
    <put name="content" value="" /> 
</definition> 
関連する問題