Thẻ <fmt:requestEncoding> được sử dụng để chỉ định kiểu mã hóa được sử dụng bởi các form đăng dữ liệu trở lại ứng dụng web.
Các thuộc tính
Thẻ <fmt:requestEncoding> có các thuộc tính sau:
| Thuộc tính | Mô tả | Bắt buộc | Mặc định |
|---|---|---|---|
| key | Tên mã hóa ký tự bạn muốn áp dụng khi giải mã tham số yêu cầu. | Có | Không có |
Bạn sử dụng thẻ <fmt:requestEncoding> khi muốn chỉ định mã hóa ký tự cho việc giải mã dữ liệu được đăng từ form. Thẻ này phải được sử dụng với các mã hóa ký tự khác từ ISO-8859-1. Thẻ này là bắt buộc vì hầu hết các trình duyệt không bao gồm tiêu đề Content-Type trong yêu cầu của chúng.
Mục đích của thẻ <fmt:requestEncoding> là chỉ định loại nội dung của yêu cầu. Bạn phải chỉ định loại nội dung, ngay cả khi mã hóa của trang tạo phản hồi được chỉ định qua thuộc tính contentType của chỉ thị trang. Điều này là do locale thực tế của phản hồi (và do đó mã hóa ký tự) có thể khác với giá trị được chỉ định trong chỉ thị trang.
Nếu trang chứa hành động định dạng có khả năng I18N thiết lập locale của phản hồi (và do đó mã hóa ký tự) bằng cách gọi ServletResponse.setLocale(), bất kỳ mã hóa nào được chỉ định trong chỉ thị trang sẽ bị ghi đè.
Ví dụ
<%@ taglib uri = "https://java.sun.com/jsp/jstl/core" prefix = "c" %>
<%@ taglib uri = "https://java.sun.com/jsp/jstl/fmt" prefix = "fmt" %>
<html>
<head>
<title>Thẻ JSTL fmt:message</title>
</head>
<body>
<fmt:requestEncoding value = "UTF-8" />
<fmt:setLocale value = "es_ES"/>
<fmt:setBundle basename = "com.tutorialspoint.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>
Bạn sẽ nhận được kết quả sau:
Uno Dos Tres