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

3.1 ページ切替で日本語が文字化けする

AndroMDA

AndroMDA 3.1 では、displayTagによりエンティティのリストを表示している。
これが少し問題があり、データ数が多くなった時ページ遷移するようになるのだが、ページ遷移を行なう(Prev/Nextなどをクリックすると)日本語が文字化けする。

時間をかけて調べてみるとどうやらAndroMDA 3.1が吐き出している、displayTag の requestURI の値が、jspを直接参照しているためStrutsのメッセージプロパティファイルを参照できないようなので。

なのでStrutsのメッセージプロパティが参照できるように、以下のように修正してみると、見事文字化けが解決された。
※モデルでの解決はできなかったので、白兵戦(手書き)で対応。

■変更前

    <display:table name="${form.hoges}" id="row"
        requestURIcontext="false" 
        requestURI="${pageContext.request.requestURI}"
        export="true" pagesize="15" sort="list">

■変更後

    <display:table name="${form.hoges}" id="row"
        requestURIcontext="false" 
        requestURI='<%= request.getContextPath() + "/Hoge/Hoges.do" %>' ←←← ここをページ切替のページURLに変換★
        export="true" pagesize="15" sort="list">