[mayaa-user:755] Re: mayaa1.0.7からmayaa.1.1.23にバージョンアップしたらxmlテンプレートが動的に出力されなくなった
かとちん@mayaa-ml
[E-MAIL ADDRESS DELETED]
2009年 2月 24日 (火) 16:37:38 JST
かとちんと申します。
xmlファイル内に示す id が、namespaceで、mayaaのものと定義がないためです。
以下のようにすればOKです。
<div xmlns:m="http://mayaa.seasar.org" m:id="appBody">
<div m:id="graphdata"/>
</div>
mayaaの
htmlファイルの場合は、「htmlタグおよびxhtmlタグのidについては、mayaaのidと同じと見なす」という
templateBuilderの補完機能があるため、自動的にインジェクションされます。
これは、
src-impl/org/seasar/mayaa/impl/provider/factory/org.seasar.mayaa.provider.ServiceProviderの、
<templateBuilder class="org.seasar.mayaa.impl.builder.TemplateBuilderImpl"> の中に定義が
あります。この中の以下の記述を削除すると、htmlファイルであっても、mayaaネームスペースの定義が
必須になります。
<parameter name="addAttribute" value="{http://www.w3.org/TR/html4}id"/>
<parameter name="addAttribute" value="{http://www.w3.org/1999/xhtml}id"/>
XMLファイルの場合でも、xhtmlであることを示せばインジェクションされます。
例えば以下のようにしても動作します。
<div xmlns="http://www.w3.org/1999/xhtml" id="appBody">
<div id="graphdata"/>
</div>
> 佐々木と申します。
> mayaaのバージョンアップで問題が起きましたので質問させてください。
>
> mayaa1.0.7でxmlをテンプレートとして使っていました。
> mayaaを1.1.23にアップデートしたところ、xmlがmayaaファイルと連携せず、ただの静的xmlファイルと
> してブラウザに表示されしまうだけになってしまいました。
>
> xmlをテンプレートとして使っている場合、mayaaバージョンアップ時に対応が必要な作業はなにかあ
> るのでしょうか?
>
> ご教授お願いいたします。
>
> 必要な情報があればご指摘ください。
> よろしくお願いいたします。
>
> ■バージョンアップ前から設定されていたweb.xmlの内容。
> <servlet-mapping>
> <servlet-name>MayaaServlet</servlet-name>
> <url-pattern>*.xml</url-pattern>
> </servlet-mapping>
>
> <mime-mapping>
> <extension>xml</extension>
> <mime-type>application/xml</mime-type>
> </mime-mapping>
>
> ■バージョンアップ時に追加した設定
> WEB-INF/classes/META-INF/org.seasar.mayaa.provider.ServiceProvider の以下が内容です。
>
> <?xml version="1.0" encoding="UTF-8"?>
> <!DOCTYPE provider
> PUBLIC "-//The Seasar Foundation//DTD Mayaa Provider 1.0//EN"
> "http://mayaa.seasar.org/dtd/mayaa-provider_1_0.dtd">
> <provider>
> <engine>
> <parameter name="autoBuild" value="true"/>
> <parameter name="autoBuild.repeat" value="false"/>
> <parameter name="autoBuild.wait" value="60"/>
> <parameter name="autoBuild.fileNameFilters" value=".html"/>
> <parameter name="autoBuild.renderMate" value="false"/>
> <parameter name="pageSerialize" value="true"/>
> </engine>
> </provider>
>
> ■xml+mayaaの内容は以下の内容です。
>
> ○graph.xml の内容
> <div id="appBody">
> <div id="graphdata"/>
> </div>
>
> ○graph.mayaaの内容
> <?xml version="1.0" encoding="UTF-8"?>
> <m:mayaa xmlns:m="http://mayaa.seasar.org"
> xmlns:html="http://struts.apache.org/tags-html"
> xmlns:bean="http://struts.apache.org/tags-bean"
> xmlns:logic="http://struts.apache.org/tags-logic"
> xmlns:s2struts="http://www.seasar.org/tags-s2struts"
> m:noCache="false">
>
> <m:with id="appBody" replace="true">
> <s2struts:init action="#{graphAction.doInitialize}"/>
> <m:doBody />
> </m:with>
> <m:with id="graphdata" replace="true">
> ${graphDisp.strXml}
> </m:with>
> </m:mayaa>
>
> 以上
> _______________________________________________
> mayaa-user mailing list
> [E-MAIL ADDRESS DELETED]
> https://ml.seasar.org/mailman/listinfo/mayaa-user
>
mayaa-user メーリングリストの案内