手把手教你--jsp读取配置文件(properties文件)--(JSTL的fmt:setBundle和fmt:message读取properties文件)

概要

在JavaWeb项目中可以将一些通用的配置放置在.properties文件中,然后在页面中直接读取配置值,在需要对通用配置做变更时即可做到一处修改、处处生效。如:项目中JS中需要异步请求一些域名可以将域名的配置放在配置文件中(properties文件)。

虽然可以用JSP中写java代码来读取properties文件,可是页面整洁度和代码比较多,这里不做演示,建议采用JSTL的<fmt:message>标签来实现起来会更清爽,开始吧。

先来看看要读取的文件search-url.properties(放在resources资源目录下):

search_url=http://search.eyaoshun.com

1.引入JSTL的fmt标签库

<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>

2.使用<fmt:setBundle>加载properties文件,先将配置文件资源加载到页面如:search-url.properties,起个名称叫searchURL

<!-- basename为不带properties扩展名的文件名,如search-url.properties;var为存储该配置文件的变量名 -->
<fmt:setBundle basename="search-url" var="searchURL" />

3.使用<fmt:message>读取配置值,关键的标签就是它,给读取到的属性值起个名叫search_url

<!-- key为配置文件中的属性名;var为存储该配置值的变量名;bundle为上一步中存储配置文件的变量名 -->
<fmt:message key="search_url" var="search_url" bundle="${searchURL}" /> 

4.使用EL表达式读取配置值

<!-- 上一步中存储配置值的变量名 -->
${search_url}

OK,代码如下

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>

<!-- basename为不带properties扩展名的文件名;var为存储该配置文件的变量名 -->
<fmt:setBundle basename="search-url" var="searchURL" />
<!-- key为配置文件中的属性名;var为存储该配置值的变量名;bundle为上一步中存储配置文件的变量名 -->
<fmt:message key="search_url" var="search_url" bundle="${searchURL}" /> 
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>JSP读取配置文件信息</title>
<script type="text/javascript">var s= '${search_url}';console.log(s)</script>
</head>
<body>
    <div>${search_url}</div>
</body>
</html>

演示如下:

 (完)

猜你喜欢

转载自blog.csdn.net/javaYouCome/article/details/81511458