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

来源:互联网 发布:最美的一句话 知乎 编辑:程序博客网 时间:2024/04/29 09:29

先建个监听器:

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>
	
				
		
原创粉丝点击