Jsp-jstl-format-requestencoding-tag
提供:Dev Guides
JSTL-コア<fmt:requestEncoding>タグ
*<fmt:requestEncoding>* タグは、Webアプリケーションにデータをポストバックするフォームで使用されるエンコードタイプを指定するために使用されます。
属性
*<fmt:requestEncoding>* タグには次の属性があります-
Attribute | Description | Required | Default |
---|---|---|---|
key | Name of character encoding you want to apply when decoding request parameters. | Yes | None |
フォームからポストされたデータをデコードするための文字エンコードを指定する場合は、 <fmt:requestEncoding> タグを使用します。 このタグは、ISO-8859-1とは異なる文字エンコードで使用する必要があります。 ほとんどのブラウザではリクエストにContent-Typeヘッダーが含まれていないため、タグが必要です。
*<fmt:requestEncoding>* タグの目的は、リクエストのコンテンツタイプを指定することです。 応答を生成するページのエンコードがpageディレクティブのcontentType属性を介して指定されている場合でも、コンテンツタイプを指定する必要があります。 これは、応答の実際のロケール(および文字エンコード)がpageディレクティブで指定された値と異なる場合があるためです。
- ServletResponse.setLocale()を呼び出して応答のロケール(および文字エンコーディング)を設定する I18N対応のフォーマットアクション*がページに含まれている場合、ページディレクティブで指定されたエンコーディングはオーバーライドされます。
例
<%@ taglib uri = "http://java.sun.com/jsp/jstl/core" prefix = "c" %>
<%@ taglib uri = "http://java.sun.com/jsp/jstl/fmt" prefix = "fmt" %>
<html>
<head>
<title>JSTL fmt:message Tag</title>
</head>
<body>
<fmt:requestEncoding value = "UTF-8"/>
<fmt:setLocale value = "es_ES"/>
<fmt:setBundle basename = "com.finddevguides.Example" var = "lang"/>
<fmt:message key = "count.one" bundle = "${lang}"/><br/>
<fmt:message key = "count.two" bundle = "${lang}"/><br/>
<fmt:message key = "count.three" bundle = "${lang}"/><br/>
</body>
</html>
次の結果が表示されます-
Uno
Dos
Tres