2017-06-17 6 views
1

私は、共通のヘッダー、フッター、本文を持つ新しいstruts2アプリケーション(注釈ベースの構成)を作成しようとしています。だから私はIf you are using annotations alone and no struts.xml, then you have to create a minimal one for this because there's no annotation available to define a custom result typeと言うこのリンクを参照しました。struts.xmlのタグresult-typeの代わりにStruts2注釈

result-typeタグ用にstruts.xmlを作成する必要がありますか? 私は、ユーザータイル3にしようと

Jun 17, 2017 3:26:20 PM org.apache.catalina.core.StandardContext filterStart 
SEVERE: Exception starting filter struts2 
Unable to load configuration. - [unknown location] 
    at org.apache.struts2.dispatcher.Dispatcher.init(Dispatcher.java:499) 
    at org.apache.struts2.dispatcher.InitOperations.initDispatcher(InitOperations.java:75) 
    at org.apache.struts2.dispatcher.filter.StrutsPrepareAndExecuteFilter.init(StrutsPrepareAndExecuteFilter.java:63) 
    at org.apache.catalina.core.ApplicationFilterConfig.initFilter(ApplicationFilterConfig.java:279) 
    at org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:260) 
    at org.apache.catalina.core.ApplicationFilterConfig.<init>(ApplicationFilterConfig.java:105) 
    at org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:4590) 
    at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5233) 
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) 
    at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1419) 
    at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1409) 
    at java.util.concurrent.FutureTask.run(Unknown Source) 
    at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) 
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) 
    at java.lang.Thread.run(Unknown Source) 
Caused by: Unable to load configuration. - [unknown location] 
    at com.opensymphony.xwork2.config.ConfigurationManager.getConfiguration(ConfigurationManager.java:70) 
    at org.apache.struts2.dispatcher.Dispatcher.getContainer(Dispatcher.java:906) 
    at org.apache.struts2.dispatcher.Dispatcher.init_PreloadConfiguration(Dispatcher.java:445) 
    at org.apache.struts2.dispatcher.Dispatcher.init(Dispatcher.java:486) 
    ... 14 more 
Caused by: The Result type [tiles] which is defined in the Result annotation on the class [class org.iibf.crf.action.LoginAction] or determined by the file extension or is the default result type for the PackageConfig of the action, could not be found as a result-type defined for the Struts/XWork package [org.iibf.crf.action#convention-default#/] - [unknown location] 
    at org.apache.struts2.convention.DefaultResultMapBuilder.createResultConfig(DefaultResultMapBuilder.java:443) 
    at org.apache.struts2.convention.DefaultResultMapBuilder.createFromAnnotations(DefaultResultMapBuilder.java:414) 
    at org.apache.struts2.convention.DefaultResultMapBuilder.createResultsFromAnnotations(DefaultResultMapBuilder.java:222) 
    at org.apache.struts2.convention.DefaultResultMapBuilder.build(DefaultResultMapBuilder.java:192) 
    at org.apache.struts2.convention.PackageBasedActionConfigBuilder.createActionConfig(PackageBasedActionConfigBuilder.java:948) 
    at org.apache.struts2.convention.PackageBasedActionConfigBuilder.buildConfiguration(PackageBasedActionConfigBuilder.java:700) 
    at org.apache.struts2.convention.PackageBasedActionConfigBuilder.buildActionConfigs(PackageBasedActionConfigBuilder.java:336) 
    at org.apache.struts2.convention.ClasspathPackageProvider.loadPackages(ClasspathPackageProvider.java:53) 
    at com. 

は、あなたがより多くの詳細を提供するために私が必要な場合は私に知らせてください、このエラーを取得しています。手伝ってくれてありがとう。

答えて

1

convention-defaultではなく、tiles-defaultである必要があります。クラスパスにタイルプラグインを追加し、アクションクラスに@ParentPackage("tiles-default")アノテーションを設定すると、これを区別できます。このアノテーションは、保持ポリシーによって適用されているクラスまたはパッケージに配置できます。

また、前の例のカスタムアクションクラスだけでなく、親パッケージをグローバルに定義することもできます。あなたがtiles-defaultを拡張し、コンフィギュレーションパッケージdefaultを持っていて、それを設定するグローバル

<constant name="struts.convention.default.parent.package" value="default"/> 
+0

を使用している場合、すなわち、私はまだこのコードのstruts.xmlファイルをインクルードする必要がありますか?他のストラット・コンベンション・ベースの代替手段があります(いくつかのコードを含むリンクはすべてヘルプになります) –

+1

このコードでは、struts.xmlを使用する必要がありますが、プロパティ・ファイルまたはフィルタの初期パラメータを使用して構成設定を行う方法があります'web.xml'や' @WebFilter'アノテーションの設定コンベンションベースのソリューションを探している場合は、アノテーションをベースクラスまたはパッケージに配置する必要があります。規約で作成された設定は 'convention-default'親パッケージ用に設定されています。 –

関連する問題