ZeroConfigStruts
アクセッサーを自動生成するようにしてBeanUtils.copyPropertiesを使いまくるようにすると、テストできんかった。
同じActionFormを複数のActionから使おうとすると失敗します。 これもすでに対応してるんですが、しばしお待ちを。 もし急ぎで欲しい人がいれば連絡ください。
予定です。 たぶん今月中に。 id:enkimiさんが自動設定Strutsっていうの作ってるみたいなので、1.4でやりたい人はそっちを使えばいいってことで、ゆっくりやります(^^;;; 設定の調整は定数アノテーションでやるみたいです。 先に、ActionをPOJOでできるよう…
いや、ActionFormもいけるなぁ。 @StrutsActionの@ExecuteがPOJO FormをうけとるときはPOJOのフォームを渡してやるようにして、ActionFormをうけとるときは自動生成したクラスのActionFormを渡すようにしてやる。 自動生成したクラスはActionForm継承してセ…
Actionを継承しないクラスに@StrutsActionをつけて、Action#executeではないメソッドに@Executeとかつけて登録したら、勝手にAction継承したクラスを作ってexecuteメソッドから@Executeがついたメソッドを呼び出すようにするPOJO Strutsとか。 でも、ActionF…
アンダーバー区切りができるようになる設定も必要ですね。
ということで、無設定Strutsできました。 http://www.fk.urban.ne.jp/home/kishida/kouza/zeroconfigstruts/zeroconfigstruts.html ちゃんとしたリファレンスにはなってないですが、だいたいの雰囲気はわかるかと。 アノテーションは、struts-config.xmlに書…
ということで、セッターゲッターの記述も不要になりました。 もう、素のStrutsは触りたくありません。 しかし、ごはん食べながら休憩がてらバイトコードいじくれるJavassist素敵。
セッターとかゲッターとかも自動的に作ってしまえ、と。 アクセッサーってうっとおしいですよね。
他の人が作ったシステムをいじってて、struts-config.xmlを直接編集してあるので、 return mapping.findForward("menu"); とか書いてあってもなんのことやらで、わざわざ検索しないといけない。 新しく画面追加するときも、なんかそれっぽいところを探して定…
気晴らしにStrutsアノテーションを実装してみました。 で、アクションを「ResultAction」ていう名前で普通に作って「result.jsp」を作ると、「result.do」にアクセスして「result.jsp」が表示されるようになって、さらに「ResultForm」を作るとそれなりの入…
という名前で、アノテーション機能を省いて、デフォルト動作だけ行うようなものを作ってもそこそこ便利かも。 nameとかinputとか、最低限の属性はstatic finalなフィールドに持たせて。
action-forwardを省略すると、パス名やクラス名と同じ名前のJSPを探してaction-forwardをsuccessという名前で指定する。 pathを省略すると、クラス名を指定する。 全部省略するならアノテーションすら必要なし。
作りこむ時間はないので定義だけ考えてるんですけど、実装次第ではActionFormは定義もアノテーションも必要なくなったりするので、かなり楽になりそうです。 public @interface StrutsAction { String path(); String success() default ""; Class form() de…
簡単な実装が、30分くらいでできちゃったんですが・・・。 固定のクラスに対しての処理だけですけど。 こんな感じのアノテーション書いて @Retention(RetentionPolicy.RUNTIME) @Target(ElementType.TYPE) public @interface StrutsAction { String path(); …