SpringMVC中使用JSTL

77 阅读2分钟

持续创作,加速成长!这是我参与「掘金日新计划 · 6 月更文挑战」的第30天,点击查看活动详情


JSTL的英文全称是JavaServer Pages Standard Tag Library,中文全称是JSP标准标识库。JSTL技术标准是由JCP(lava Community Process)组织的JSR052专家组发布,Apache组织将其列入Jakarta项目,Sun公司将JSTL的程序包加入互联网服务开发工具包内(Web Services Developer Pack(WSDP)),作为JSP技术应用的一个标准。

JSTL标签是基于JSP页面的,这些标签可以插入在JSP代码中,本质上JSTL也是提前定义好的一组标签,这些标签封装了不同的功能,在页面上调用标签时,就等于调用了封装起来的功能。JSTL的目标是简化JSP页面的设计。对于页面设计人员来说,使用脚本语言操作动态数据是比较困难的,而采用标签和表达式语言则相对容易,JSTL的使用为页面设计人员和程序开发人员的分工协作提供了便利。

JSTL标识库的作用是减少JSP文件的Java代码,使Java代码与HTML代码分离,所以JSTL标识库符合MVC设计理念。MVC设计理念的优势是将动作控制、数据处理、结果显示三者分离。

用JSTL实现国际化

1 引入依赖

<dependency>
            <groupId>jstl</groupId>
            <artifactId>jstl</artifactId>
            <version>1.2</version>
</dependency>

2 添加国际化资源文件

i18n.properties

i18n.username=Username
i18n.password=Password

i18n_zh_CN.properties

注意中文需要转成Unicode,不然会乱码。

i18n.username=\u7528\u6237\u540d
i18n.password=\u5bc6\u7801

i18n_en_US.properties

i18n.username=Username
i18n.password=Password

3 配置国际化资源文件

<!--  配置国际化资源文件  -->
    <bean id="messageSource" class="org.springframework.context.support.ResourceBundleMessageSource">
        <property name="basename" value="i18n"/>
    </bean>

4 使用

在浏览器中设置中文和英文,即可看到不同的语言显示。

<%--添加fmt标签--%>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
  
<%--使用国际化资源文件--%>
<br/>
<fmt:message key="i18n.username"/>
<br/>
<fmt:message key="i18n.password"/>

关注木水小站 (zhangmushui.cn)和微信公众号【木水Code】,及时获取更多最新技术干货。