読者です 読者をやめる 読者になる 読者になる

Mayaa

Struts2 + Mayaa

今、Struts2とMayaaを組み合わせてみてるんですが、 それぞれのバージョンは以下となります。 Struts2.1.6 Mayaa1.1.24 Strutsのtaglib.tldがうまく読めないみたいです。 taglibのversion指定のところでエラーになります。 まぁ、Strtusのtaglib使わないので…

MayaaでJavascript

Mayaaを触ってみた。最近Flex三昧だったので、久しぶり。 というのも、知り合いから以下のような質問をもらいました。 テンプレートに書いている、javascriptの中身を書き換える事って出来るの?Flashを呼び出す時に使うJavascriptのFlashVarsの変数を動的に…

テンプレートの拡張子を変える

テンプレートファイル名を「.template」にしたら正常に動かなくなった。 sugaさんにWEBコンテナにMIMEタイプの設定をしたらいいとアドバイスをもらい解決。 そういえば、MayaaのソースでContentTypeが「text/html」かどうか見てたのを思い出した。

テンプレートファイルへの直アクセス

MLでsugaさんからアドバイスを得たけど、forwardした時でないと有効ではないため無理でした。 結局、テンプレートの拡張子を変えることで対応することにしました。

メソッドが呼ばれない

以下のような場合に .java private String aHogeId; public void getAHogeId(){ return aHogeId; }以下のように呼ばないといけないのは仕様? .mayaa × ${bean.aHogeId} ○ ${bean.getAHogeId()}sugaさんのコメントに従って試してみました。 以下の記述で取得…

OutOfMemoryError

ERROR org.seasar.mayaa.impl.engine.error.TemplateErrorHandler 2007-06-09 14:35:35,182 [TP-Processor3] handled exception, PermGen space重たいページを開こうとしたらエラーが出た。 今までの経験だと「OutOfMemoryError」が出ると、APサーバー自体反…

おーっと

G社にコミッタが・・・

Dojo

素のHTMLだと表示されるけど、Mayaaを通すと出ない。 WEB-INF配下に置いているのが問題なのかな・・・ *.jsはMayaaServletで処理するようにしてるんだけど他に何か設定が必要? それと一つはまったこと。 下記のように書いたら表示されなかった。 × <script type="text/javascript" src="./js/dojo.js"/> ○ <scri</script>…

レイアウト共有

レイアウト共有時に、親ファイルに対する属性の書き換えを行いたいのですが、 現状では相当する機能はありませんよね? どういった場合に必要かというと、 レイアウト共有時は多分、bodyタグを親で持っていると思います。 bodyに対する onLoad 属性をあるペ…

attributeプロセッサ

要望 attributeプロセッサにもescapeXML属性を追加して欲しい。 <m:element name="span"> <m:attribute name="onClick" value="open('windowname')"/> </m:element>などとした場合に「'」がエスケープされてしまう。 でも、動いてるんですよね。 何か気持ち悪いのでescapeXML属性欲しいです。

ParameterAware

Mayaa Webwork2でParameterAwareが上手く動きません。訂正 Mayaa Webwork2で動かないのではなく、webwork2のParameterAwareとValidationInterceptorが上手く動いていないだけでした。これに関しては、Interceptorを使わずに内部で処理することで回避できます…

scriptタグ

target.html <script type="text/javascript"> <span id="script">dummy</script> </script> target.mayaa <m:write id="script" value="hogehoge"/>と書くと、置換されないようです。 elementを使ってscriptタグを書けるので何の問題もないのですが、一応気になったので。</m:write>

non webwork taglib

Mayaa標準タグで、各部品をコンポーネントとして作っておけば再利用できる。 いやぁ、Mayaaってよくできてるなぁ。 下記のように書いた場合、当然エラーとなります。 コンポーネントに渡したリストにアクセスするキーを渡してるのですが、 どうやってアクセ…

id

レンダリング後のid属性って消せましたっけ?

% と $ その3

ブレークポイントを付けて追っかけてみました。 「%」の場合は、タグ内でOGNL評価されます。 「$」の場合は、WebworkValueStackScopeでOGNL評価されたものが、更にタグ内でOGNL評価されています。 そのためStringの「1」をもう一度ONGL評価するとIntegerの「…

% と $ その2

昨日「プロパティkeyとvalueを持つオブジェクト」と書いて省略してましたが、 public class Dto{ private String key; private String value; /* getter/setter 略 */ }これだと、selected が key と同値である場合はきちんと「selected」となりました。※%の…

% と $

webworkのタグライブラリでは式言語を使うときに「%」を付けます。 MayaaResultを使うと、「$」を付けます。 基本的にこれらで取れる値は同じはずですよね? でも、違うみたいなんです。 試しに出力してみたんですけど、見た目は同じようなんですけど、 タグ…

MayaaResult ファイル欠損

http://mayaa.seasar.org/subprojects/index.html 公式サイトの上記ページからダウンロードできるjarですが、 META-INF内にあるべき下記2ファイルが含まれていません。 org.seasar.mayaa.cycle.CycleFactory org.seasar.mayaa.provider.ServiceProvider その…

MayaaResult

mayaa1.1.2ではhotodeploy中にMayaaResultが使えていたけど、 mayaa1.1.3から使えなくなった。 CycleUtil#getFactoryでIllegalStateExceptionが出る。

レイアウト共有

ちょっと画像が小さいですけど、右の図のような関係です。 一番上のがコンポーネントで、真ん中に対してアクセスします。 で、baseを共有します。 追記 doRenderでレンダリング範囲を決めて、それをinsertで入れる。 という理解であってますよね? doRender…

レイアウト共有

ドキュメントを見てると、 hello.html component.html layout.html の三つがありますが、コンポーネントはlayout.htmlに対して埋め込まれてます。 でもhello.htmlにコンポーネントを埋め込んで、その結果をlayout.htmlへ持っていけない。今、 hello.htmlにあ…

コミッタ増員

id:matobatさんがMayaaコミッタになられました。 よろしくお願いします。最近めっきり貢献できてないので、 サンプルやドキュメント作成のお手伝いをしたいなぁ。

Mayaa + Webwork2

id:matobatさんからどうなってますか? というツッコミが来たので、言い訳を・・・ 自分が作ってたときとAPIが変わっていて、今のAPIでは何もしてません。 matobatさんが作られたものを利用しています。 とりあえずMayaaのMLに、こういったフレームワークへ…

静的ファイル生成

今のMayaaってVelocityみたいに、HTMLファイル生成とかできないですよね? ResponseとServiceCycleを作ればできる?

Ifプロセッサ

・html <td id="class"><span id="data">データ</span></td> ・mayaa <m:echo id="class"> <m:if test="true"> <m:attribute name="class" value="hoge"/> </m:if> </m:echo>と書くと、中のspanが表示されない。 echo内のifを外すと表示される。 Ifプロセッサが悪さをしてるみたい。 ソース見たけど分かりませんでした。

rhino

Mayaaのタグのvalueに値を渡したときは、rhinoのスクリプトとして判断されるのか? それともscope別の処理が終わってからrhinoのスクリプトとして処理されるのか分からない。 下記のように書くとエラーになってしまうということは、先にrhinoスクリプトとし…

Scope

id:matobatさんのWebworkValueStackScopeをそのまま使ってみた。 おぉ、動く。 iterateAttributeNamesはこのScopeからアクセスできる名前リストを返せばいいのかな? となると、この場合はActionのプロパティとDtoのプロパティとなるのか? 何に使うんだろう…

変わってる

2.1.7 と 2.2.2 のProertyTagのソースを見たけど、変ってた。 継承しているクラスも変ってる。 2.2.2は最後にBodyの中身を吐いているっぽい。

default.mayaa

デフォルト設定にtaglibの定義をしたんだけど、引継がれない。 個別に設定すると動くのは確認した。 あれ? webworkのpropertyタグを使うと <span id="message">ダミー</span>と書いても、ダミーが消えない。

読む

久しぶりにソースを読んでみました。 今他人のソースを読む機会が増えたせいか、以前より追いかけるのが早くなっている自分を実感できました。 まだほんの触り程度くらいしか見てないですけど・・・

1.0リリース

Mayaa1.0がリリースされました。 お疲れ様です。 ずっとお手伝いできないままで申し訳ないです・・・ たぶんコードが大きく変わることはないと思うので、時間を見つけて見てみようと思います。

taglib

web.xmlのtaglib-locationがjarのときって読まれてないみたい。 WebXMLTaglibSourceScannerで、systemIDが".jar"で終わるときの処理を入れようとしたけど、 よく分かりませんでした。 とりあえず強引に入れてみた。 ちゃんとweb.xmlのtaglibで定義したtaglib…

taglib

taglibのDTDを見ると、uriは必須ではないみたいです。 必須項目はtlib-version, jsp-version, short-nameの3つ。 今の実装だとuriを比較対照にしている。(たぶん) これってまずくないかなぁ。 short-nameを比較対照にするべきだと思うんだけどな。 ちなみ…

NEWバナー&サイトリニューアル

バナーが新しくなったのでリンクをはってみた。 でも、最近全く力になれてません。 やっぱりデザインの力ってすごいですね。

あれ?

解決したので。

Tiles その3

あれからすぐに、 絶対パスで書けばいいじゃん って思ったので試してみたらあっさりいけた。 当たり前だね・・・ 今までwebページ作るときは相対パスで書いていたので思いつかなかった。 でも絶対パスで書くとアプリ名を含んでいるから後々問題が出そう。 普…

Tiles その2

昨日の問題に対する個人的な結論は、設計時から再利用を意識したディレクトリ構成にすればいいだけのこと。 当たり前のことでした。

Tiles

extends 元のファイルが別ディレクトリにいる場合にパスがずれる。 テンプレートになるファイルを一つ上のディレクトリに置いた場合に、そのファイルにCSSを書いていてextends先が別ディレクトリにあると、 レンダリング時はextends先がカレントディレクトリ…

MayaResult

できました。 WEB-INF配下のCSSもイメージもバッチリ表示されました。 結局、ServiceCycleImplとRequestScopeImplを継承したクラスを作成。 ServiceProviderにrequestを渡す前にrequest.setAttributeで任意のHTMLを指定。 RequestScopeImplの継承クラスでget…

昨日の続き

一応表示されるようになったので、htmlファイルをWEB-INF/page配下に移動してみた。 orz CSSと画像が出ない。 デフォルト実装なら出るので設定は間違ってないはず。

要望

プリコンパイラが欲しい

本気

OSC2005 Fall でまさたかさんの本気が見れるみたい。 今まで手を抜いていたっていうのが信じられない。 行きたいけど、まだ行けるかどうか微妙・・・。

0.9.11リリース

リリースお疲れ様です。 Mayaファイル実行ですか。 HTML出力のないJSPみたいな使われ方されそうだな。

0.9.10リリース

リリースお疲れ様です。

解決

昨日の件は解決。 でも、エラー。 と思ったら。 ○: ×: って書いてた。

あーれー

さすがに0.9.6 -> 0.9.10dev はきついなー。 何が悪くて動かないのかさっぱりだ。 web.xmlにtaglibを書くとエラーになる。 何故?

あれ

sugaさんまで

あれ?

何かいろいろと変わってる。 Rhinoの勉強をしなくては。