`
runfeel
  • 浏览: 904535 次
文章分类
社区版块
存档分类
最新评论

如何遍历properties文件的键值对并放置到application作用域里

 
阅读更多

先建个监听器:

package com.yjd.hy.server;

import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Properties;
import java.util.Map.Entry;

import javax.servlet.ServletContextEvent;
import javax.servlet.ServletContextListener;

/**
 * 应用上下文监听器,读取配置文件、字典表
 * 
 */
public class MyServletContextListener implements ServletContextListener {

	public void contextDestroyed(ServletContextEvent arg0) {
	}

	public void contextInitialized(ServletContextEvent arg0) {
		/** 读取配置文件 **/
		String specialPath = System.getProperty("search.root")
				+ "/WEB-INF/properties/xxx.properties";
		Properties props = new Properties();
		try {
			props.load(new FileInputStream(specialPath));
		} catch (FileNotFoundException e) {
			e.printStackTrace();
		} catch (IOException e) {
			e.printStackTrace();
		}

		Map<String, String> ddMap = new HashMap<String, String>();

		Iterator itr = props.entrySet().iterator();
		while (itr.hasNext()) {
			Entry e = (Entry) itr.next();
			ddMap.put(e.getKey().toString(), e.getValue().toString());
		}
		arg0.getServletContext().setAttribute("xxx_dict_data", ddMap);
	}

}


在Web.xml中配置监听器:

	<!-- 加载全局配置文件、字典数据的监听器 -->
	<listener>
		<listener-class>com.yjd.hy.server.MyServletContextListener</listener-class>
	</listener>

Java中获取:

Object obj=ServletActionContext.getServletContext().getAttribute("xxx_dict_data");

Jsp页面中直接获取:
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <base href="<%=basePath%>">
    
    <title>My JSP 'MyJsp.jsp' starting page</title>
    
	<meta http-equiv="pragma" content="no-cache">
	<meta http-equiv="cache-control" content="no-cache">
	<meta http-equiv="expires" content="0">    
	<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
	<meta http-equiv="description" content="This is my page">

  </head>
  
  <body> 
	${xxx_dict_data['aaa.bbb']}
</body></html>



分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics