Uploaded image for project: 'S2Struts'
  1. S2Struts
  2. STRUTS-19

無設定Strutsでコンポーネント名を"/"で始めると例外が発生する

XMLWordPrintable

    • Type: Icon: Bug Bug
    • Resolution: Fixed
    • Priority: Icon: Major Major
    • 1.2.8
    • Affects Version/s: 1.2.7
    • Component/s: S2Struts
    • None

      Seasar-user:5446

      件名の件ですが、無設定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に登録できるように対応お願いします。

            Assignee:
            kanagashi kanagashi
            Reporter:
            kanagashi kanagashi
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

              Created:
              Updated:
              Resolved: