[STRUTS-45] QualifiedActionPathNamingRule使用時にクラス名中の大文字で始まるところもすべて"/"に変換して欲しい Created: 25/Mar/07  Updated: 14/Apr/07  Resolved: 13/Apr/07

Status: Resolved
Project: S2Struts
Component/s: S2Struts
Affects Version/s: 1.3.0-beta-3
Fix Version/s: 1.3.0-RC1

Type: Improvement Priority: Major
Reporter: jfut Assignee: kanagashi
Resolution: Fixed Votes: 0
Labels: None


 Description   

QualifiedActionPathNamingRule使用時にクラス名中の大文字で始まるところもすべて"/"に変換して、パスとして使えるようには出来ないでしょうか?

  • rootPackageName: org.seasar.struts.lessconfig.config.rule.impl
    • org.seasar.struts.lessconfig.config.rule.impl.action.PackageRuleComponentAction -> /package/rule/component
    • org.seasar.struts.lessconfig.config.rule.impl.action.sub.HogeEdit -> /sub/hoge/edit

S2Struts 1.3.0-beta-3以降のQualifiedActionPathNamingRuleと違いすぎてあまり参考にならないかもしれませんが、http://integ.jp/java/s2-struts-qualified/ の s2struts-qualified-1.3.0-beta-3 (splitUpperName: true時) というもので現在無理やりこの機能を実現しています。使える部分があれば使って貰えたら幸いです。

よろしくお願いします。



 Comments   
Comment by kanagashi [ 13/Apr/07 ]

提示していただいたソースをもとに
クラス名中の大文字で始まるところもすべて"/"に変換するSplitUpperActionPathNamingRuleクラスを作成しました。
また、今回の追加に伴い、ActionPathNamingRuleを整理しました。

  • DefaultActionPathNamingRule
    コンポーネント名からActionを除いた名称をPathとして利用する
    例) aaa_HogeBarAction → /aaa_HogeBar
  • SubApplicationActionPathNamingRule
    ※beta-3時点のQualifiedActionPathNamingRuleクラスからクラス名を変更
    コンポーネント名からActionを除いた名称から
    さらにSubApplicationのパスを"/"に変換した名称をPathとして利用する
    例) aaa_HogeBarAction → /aaa/hogeBar
  • SplitUpperActionPathNamingRule
    コンポーネント名からActionを除いた名称から
    さらにSubApplicationのパスを"/"に変換し、
    コンポーネント名中の大文字で始まるところもすべて"/"に変換した名称をPathとして利用する
    例) aaa_HogeBarAction → /aaa/hoge/bar

それぞれのActionPathNamingRuleクラスのより良い名称があれば、コメントください。

Comment by jfut [ 14/Apr/07 ]

対応ありがとうございます。SplitUpperActionPathNamingRule、期待どおり動作しました。
名称も今のままで問題ないと思います。

Generated at Sat Dec 16 06:25:21 JST 2017 using JIRA 6.4.12#64027-sha1:e3691cc1283c0f3cef6d65d3ea82d47743692b57.