reels-project / reels

Reels Java Framework
Apache License 2.0
0 stars 0 forks source link

beforeActionの仕組み #22

Open master-of-sugar opened 8 years ago

master-of-sugar commented 8 years ago

Metaへの動的追加ができたらステキ。ViewHandlerをいじる?

master-of-sugar commented 8 years ago

ViewHandlerを拡張して毎回metaにぶち込む作戦?

master-of-sugar commented 8 years ago

f:viewActionでできるとおもったけど、Controllerの特定ができない。

master-of-sugar commented 8 years ago
@beforeAction("methodName")
public String actionMethod(){

ダサいよね?ねえダサいよね??

shohei-nozaki commented 8 years ago

これは見かけたら考えた人の苦労も知らず笑っちゃうやつだ

master-of-sugar commented 8 years ago
@ApplyBeforeAction
public String actionMethod(){

これだったら?

master-of-sugar commented 8 years ago

なんでアノテーションつけるかというと、単なるアクセッサと区別したいから。。

shohei-nozaki commented 8 years ago

("methodName") ↑これないだけで嬉しいですよね

master-of-sugar commented 8 years ago
public Constructor(){
   beforeAction(this::beforeMethod);
}

@ApplyBeforeAction
public String action(){
 ...
}

こうするとactionメソッド実行前にbeforeMethodが実行される。アノテーションないものは無視。どう?

shohei-nozaki commented 8 years ago

ふぇいふぇい!!

master-of-sugar commented 8 years ago

文字列とか超いけてないよね

shohei-nozaki commented 8 years ago

文字列は最高にいけてないですね、最高に

master-of-sugar commented 8 years ago

actionListenerだとafterができないし、PhaseListenerだとクラスが特定できない。 なのでインターセプターしかないかなってことでこのやりかた。

master-of-sugar commented 8 years ago

例えば hoge.xhtmlのhogeの部分を名前ルールでHogeがコントローラーとか決まりを作ればPhaseListenerで特定できるけどそこまでするものか。。。

shohei-nozaki commented 8 years ago

設計次第ですけど、.xhtmlとcontrollerが1:1かもわからんですよねw そんなのあるのかなw

master-of-sugar commented 8 years ago

そういう縛りにしたことはあるけど、コンポーネント指向をブチ殺すことになる。

master-of-sugar commented 8 years ago

もう1つの案はAngularみたいに

<f:view controller="#{hoge}" >

って指定してもらうとか

master-of-sugar commented 8 years ago

↑そんなのないから自作だけどもw

shohei-nozaki commented 8 years ago

結局名前を文字列指定ですねw

master-of-sugar commented 8 years ago

faceletsの世界では仕方がない。javaの世界で文字列指定はうんこだけども。

shohei-nozaki commented 8 years ago

がんばれば無いときはeclipseに怒られるようにできる気がしないでもないですね

master-of-sugar commented 8 years ago

アノテーションプロセッサ適用すればできるが何か違う解決策な気がする。。w

master-of-sugar commented 8 years ago

いい方法思いつくまで一旦保留

master-of-sugar commented 8 years ago

実行タイミングとしてはPhaseListnerでやる。 あとは実行クラスの特定方法。