[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 メーリングリストの案内