1

jsp を使用して、このHh’k値を非表示フィールドに出力して送信します。次に、サーブレットでは、これを parameter として取得します Hh'kが、代わりにこれをとして取得しますHh’k

助言がありますか?

4

1 に答える 1

2

理由がないので、ブラウザはそれをしません。特殊文字を URL エンコードするだけで、application/www-x-form-urlencodedを呼び出すことによって自動的に URL デコードされるコントラクトに準拠しますgetParameter()

本当に XML エスケープする必要がある場合は、リクエスト パラメータを取得した後に自分で行う必要があります。これにはApache Commons Lang StringEscapeUtils#escapeXml()が役立ちます。

String foo = request.getParameter("foo");
String escapedFoo = StringEscapeUtils.escapeXml(foo);
// ...

しかし、なぜそれをするのでしょうか?HTML での再表示に問題がありますか? そのためには、はるかに簡単な解決策があります。どこでも UTF-8 を使用するだけです。たとえば、JSP の先頭に次を追加します。

<%@page pageEncoding="UTF-8" %>

など。

于 2011-09-19T19:34:45.677 に答える