[Seasar-user:5446] [S2Struts] 無設定Strutsでコンポーネント名を"/"で始めることができない
Kazuya Sugimoto
[E-MAIL ADDRESS DELETED]
2006年 12月 13日 (水) 16:09:15 JST
杉本と申します。
件名の件ですが、無設定Strutsのドキュメントでactionタグのpath属性の
部分を見ると、コンポーネント名が"/"から始まっている場合にはpathに
コンポーネント名としてそのまま使うと書いてあります。
しかしコンポーネント名を"/"から始めるActionをDiconに登録しておくと
例外が発生してしまいます。
ソースを見ていくと
ZeroConfigActionRuleImpl#addFowardConfigの
String file = getPath(actionClass, null) + "." + viewExtension[i];
の部分でgetPathの第2引数のModuleConfigにnullが入ります。
そしてgetPathから呼ばれる#getActionPathNameの
} else if (isPathComponentName(result)) {
return toPathComponentName(result, config);
の部分で、"/"から始まっているため
#toPathComponentNameが呼ばれます。
configがnullとなっているためこのメソッドの第2引数にもnullが入ります。
#toPathComponentNameではconfig.getPrefix()とconfigを使っている
のですがconfigがnullのため、ここで例外が発生してしまいます。
特に問題が無いようでしたら、コンポーネント名を"/"から始めるActionを
Diconに登録できるように対応お願いします。
--
Kazuya Sugimoto
http://d.hatena.ne.jp/sugimotokazuya/
Seasar-user メーリングリストの案内