<< scim-skkはいずこ? | Home | AllOfMP3 >>
PR: 転職    お墓    エコ    通販    結婚相談所    シルバー    質屋    葬式    漫画    エステサロン   

Struts2 urlタグ

urlタグを使うとリクエストパラメータを再利用できるようなので、サーバセッションを使わずにパラメータを引き継いでみる。

  <s:url id="postUrl" value="userEntry!register.action" includeParams="all"/>
  <s:form action="%{#postUrl}">

なんかうまく動かないので、生成されたHTMLを見てみると、

<form id="userEntry" name="userEntry" onsubmit="return true;" action="/sample/userEntry!register.action?user.email=ruimo%40ruimo.com&amp;user.gender=MAIL&amp;user.name=Ruimo+Uno&amp;user.ageRange=AGE40_49&amp;user.userid=ruimo" method="POST">

んー惜しい。&が二回エスケープされてますな。ソース見てみるとurlタグは、リクエストパラメータを区切るのに既に&amp;を使うようだ。で、formタグでそれをエスケープするもんだから&amp;amp;になってしまう模様。



Re: Struts2 urlタグ

始めまして、板倉と申します。 urlタグを使うと、2度エスケープされて'&'が&amp;になってしまう問題に自分もぶつかっています。Strutsのバージョンは2.0.11です。何かソリューションはないのでしょうか?もし知っていたら教えていただけませんか?よろしくお願いします。 板倉秀樹

Re: Struts2 urlタグ

初めまして。今のところurlタグを使うのはあきらめてます。自分でurlタグを拡張するというのも、ありでしょうね。

Re: Struts2 urlタグ

xWorksのバージョン2.1.0で修正されているようなのでxworks.jarのみアップデートしてみたのですが、Struts2の2.0.11(Current)とは互換性がないようです。情報ありがとうございました。

Re: Struts2 urlタグ

Struts 2.1なら、大丈夫かもしれませんね。まだtest buildですが、ここから取れます。
http://people.apache.org/builds/struts/2.1.0/

Re: Struts2 urlタグ

Struts 2.1を試してみたのですが、'&'がエスケープする問題は解決されて無いようでした。urlタグを使うのは当分の間あきらめます。

Re: Struts2 urlタグ

横から失礼します。 escapeAmp属性を追加することでで解決ると思われます。 <s:url id="hoge" action="HogeAction" escapeAmp="false" /> 検証に使用したバージョンは2.0.11.2です。

コメント追加 トラックバック送信
このサイトの掲載内容は私自身の見解であり、必ずしもIBMの立場、戦略、意見を代表するものではありません。
日本アイ・ビー・エム 花井 志生 Since 1997.6.8