示例
资源束包含特定于语言环境的对象。资源束包含键/值对。当您的程序需要特定于语言环境的资源时,您可以保留所有语言环境所共有的所有键,但是可以转换特定于语言环境的值。资源束有助于向语言环境提供特定的内容。Java资源包文件包含一系列键到字符串的映射。我们关注的方法涉及创建扩展了java.util.ListResourceBundle类的已编译Java 类。您必须编译这些类文件,并使它们可用于Web应用程序的类路径。让我们定义一个默认资源束,如下所示:
package com.jc2182;
import java.util.ListResourceBundle;
public class Example_En extends ListResourceBundle {
public Object[][] getContents() {
return contents;
}
static final Object[][] contents = {
{"count.one", "One"},
{"count.two", "Two"},
{"count.three", "Three"},
};
}
让我们编译上面的类Example.class,并使其在您的Web应用程序的CLASSPATH中可用。现在您可以使用以下JSTL标记显示三个数字,如下所示:
<%@ 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:bundle Tag</title>
</head>
<body>
<fmt:bundle basename = "com.tutorialspoint.Example" prefix = "count.">
<fmt:message key = "one"/><br/>
<fmt:message key = "two"/><br/>
<fmt:message key = "three"/><br/>
</fmt:bundle>
</body>
</html>
这将产生以下结果-
尝试不带前缀的上述示例,如下所示-
<%@ 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:bundle Tag</title>
</head>
<body>
<fmt:bundle basename = "com.tutorialspoint.Example">
<fmt:message key = "count.one"/><br/>
<fmt:message key = "count.two"/><br/>
<fmt:message key = "count.three"/><br/>
</fmt:bundle>
</body>
</html>
上面的代码将产生以下结果-
查看<fmt:setLocale>和<setBundle>标记以了解完整的概念。