Tiles と Tomcat サーバーで Struts2 プロジェクトを実行しようとしていますが、うまく動作しません。
私は両方のドキュメントを見てきましたが、私はそれを正しくやっていると思います。ここに私のファイルがあります: web.xml
<display-name>Struts2_Application</display-name>
<listener>
<listener-class>
org.apache.struts2.tiles.StrutsTilesListener
</listener-class>
</listener>
<context-param>
<param-name>tilesDefinitions</param-name>
<param-value>/WEB-INF/tiles.xml</param-value>
</context-param>
<filter>
<filter-name>struts2</filter-name>
<filter-class>
org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter
</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
</web-app>
struts.xml
<?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="default" extends="struts-default">
<result-types>
<result-type name="tiles"
class="org.apache.struts2.views.tiles.TilesResult" />
</result-types>
<action name="*Menu" method="{1}"
class="com.greensun.struts2.tiles.action.MenuAction">
<result name="tiger" type="tiles">tiger</result>
<result name="lion" type="tiles">lion</result>
</action>
</package>
</struts>
MenuAction.java
public class MenuAction extends ActionSupport {
/**
*
*/
/*private static final long serialVersionUID = 1L;
@Override
public String execute() throws Exception {
// TODO Auto-generated method stub
return "tiger";
}*/
public String tiger() { return "tiger"; }
public String lion() { return "lion"; }
}
プロジェクトを実行しようとすると、次のエラーが発生します。
org.apache.catalina.core.StandardContext listenerStart Critical: Class org.apache.struts2.tiles.StrutsTilesListener org.apache.tiles.context.ChainedTilesContextFactory.createApplicationContext(ChainedTilesContextFactory) でコンテキスト初期化イベントを java.lang.NullPointerException のリスナー インスタンスに送信する例外.java:107) org.apache.struts2.tiles.StrutsTilesContainerFactory$StrutsTilesContextFactory.createApplicationContext(StrutsTilesContainerFactory.java:98) で org.apache.struts2.tiles.StrutsTilesContainerFactory.initializeContainer(StrutsTilesContainerFactory.java:68) で org.apache. tiles.factory.TilesContainerFactory.createTilesContainer(TilesContainerFactory.java:199) org.apache.tiles.factory.TilesContainerFactory.createContainer(TilesContainerFactory.java:164) org.apache.tiles.listener.TilesListener.createContainer(TilesListener.java:91) org.apache.struts2.tiles.StrutsTilesListener.createContainer(StrutsTilesListener.java:66) org.apache.tiles.listener.TilesListener.contextInitialized(TilesListener.java:58) org .apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4939) で org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5434) で org.apache.catalina.util.LifecycleBase.start(LifecycleBase) .java:150) org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:901) org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:877) org.apache.catalina. org.apache.catalina.startup の core.StandardHost.addChild(StandardHost.java:633) org.apache.catalina.startup の HostConfig.deployDescriptor(HostConfig.java:656)。HostConfig$DeployDescriptor.run(HostConfig.java:1635) で java.util.concurrent.Executors$RunnableAdapter.call(不明なソース) で java.util.concurrent.FutureTask.run(不明なソース) で java.util.concurrent.ThreadPoolExecutor java.util.concurrent.ThreadPoolExecutor$Worker.run(不明なソース) の .runWorker(不明なソース) java.lang.Thread.run(不明なソース) の
私は本当にばかげたことをしていると確信していますが、自分ではそれを見ることができません。誰?