[mayaa-dev:73] Re: (source?) Re: Re: Mayaaのみでアプリケーションを作るためのフレームワーク

suga [E-MAIL ADDRESS DELETED]
2008年 3月 8日 (土) 14:02:10 JST


suga です。

遅くなりましたが、まとめて。
# なぜか Gmail だとメールのスレッドがバラバラになってしまいます。
# archive はちゃんとスレッドになっているのに。

On 3/5/08, Yasuhiro Oguro <[E-MAIL ADDRESS DELETED]> wrote:

> > beforeRender のようなイベント的なものを作って、その中身を
> だと全く手が出ないので・・・というかmayaaの内部構造の資料とか
> 無いですよね?どこから読めばいいのか・・・

はい、内部構造の資料はありません。
ひとまずはイベント追加でない方法で考えてみましょう。


> > ただ、簡単で目的部分以外の記述を少なくするにはどうするのが
> > 良いか、はまだ思いついていません。
> ということは私のproposalっぽいものはNGだと認識しつつ
> 勝手に補完してみたりします。

NG というか、あくまで私が考えている方向性であって、それが良いか
どうかはわかりません。
早期にモックアップを作るか、あるいは負荷が少なく規模の小さな
サイト用という感じで考えていました。


> > > を処理するvalidation filterと front controller filterみたいな?
> front controller servletでした。mappingは*.ajs(仮)で
> ajsリクエストは全てSimpleFrontControllerServletで処理され、
> validatorの結果が(全てのcontinue可)であれば、
> principal認証→暗黙オブジェクトの宣言→FooAction.djsの呼び出し→*.htmlへフォワード
> →オブジェクトの破棄という手順で動作する
> (暗黙オブジェクト:mayaaの暗黙オブジェクト+jdbcWrapper(fooSelect = jdbc.prepare('FooSelect.sql'))
>
> > > FooValidation.properties
> form1.hoge.pattern=^[0-9]{4}$
> form1.hoge.messageKey=EmployeeNumber
> form1.hoge.continueExecute=false
> で/WEB-INF/message.properties(仮)の
> ValidationFieldName.EmployeeNumber=社員番号
> をリンクして<mayaa:validation.messages />に複数件出力する

メッセージの複数出力は Mayaa のコンポーネント機能で十分かもしれません。
簡単な HTML, Mayaa を提供して、違うテンプレートにするには同名で優先度の
高いところに置く形で。

request の attribute に Map や List で格納しておけば、あとはなんとでも
なるでしょう。格納した順番が大事なら LinkedHashMap とか。


> jstl:sqlなどが十分に使えるなら
> fooValidation.properties
> fooAction.djs
> foo.ajs(URL)
> だけでもいいかもしれません。

JSTL の SQL は確か使えるはずですので、簡易にはこれで良いかもしれません。
「しっかりした」DB 周りのライブラリは、使いたいものに合わせてアクセス
しやすいものを提供すれば良いかなと。

たとえば S2Dao や S2JDBC なら、S2Scope (アプリサンプルか extension) を
使うと簡単にアクセスできます。


> > > ajsリクエストは全てSimpleFrontControllerServletで処理され、
> これはScriptEnvironmentImplを初期化し・・・・えーっと。よくわからないので

Mayaa ファイルへの forward で処理して、すべて beforeRender に書くか、
あるいは beforeRender で load(スクリプト) して実行するのが良いでしょう。
別途 Servlet を作るより簡易だと思います。

ちなみに *.html が存在しない状態で forward しても、*.mayaa があれば実行
されます。ここで forward や redirect しなければ当然エラーになりますけど。


-- 
suga ( [E-MAIL ADDRESS DELETED] )


mayaa-dev メーリングリストの案内