- 浏览: 239805 次
- 性别:
- 来自: 上海
文章分类
最新评论
-
lijunwyf:
zhanger 写道/home/data/svn/ 为svn ...
linux svn启动和关闭 -
eyeit2000:
VIM学的怎么样?
vim 操作总结 -
chenp1111:
这个就是仓库的地址
linux svn启动和关闭 -
zhanger:
/home/data/svn/ 为svn的安装目录这个应该是 ...
linux svn启动和关闭
1,web.xml定义一个系统的过滤器
2,写这个filter的内容
3,spring配置一个systemServletContextLoader的bean
${enumration.entity.package}这个是系统定义枚举类型所放置的包,比方叫com.xxxx.entity.enumeration
4,这个bean所得对应的内容如下
这个类通过配置的枚举类型所放的包,通过反射的方式拿到枚举类型
5,枚举类型的类如下
message_zh_CN.properties配置文件如下
6,jsp页面如使用方式
a,<%@ taglib prefix="fmt" uri= "http://java.sun.com/jsp/jstl/fmt" %>
<fmt:setBundle basename ="message" />这是配置枚举类型显示的文件
message_zh_CN.properties,这个要在spring配置文件预先加载
b,使用如下
<listener> <listener-class>com.zainta.pregnancy.web.listener.ServletContextLoaderListener</listener-class> </listener>
2,写这个filter的内容
package com.zainta.pregnancy.web.listener; import javax.servlet.ServletContext; import javax.servlet.ServletContextEvent; import javax.servlet.ServletContextListener; import org.springframework.context.ApplicationContext; import org.springframework.web.context.support.WebApplicationContextUtils; public class ServletContextLoaderListener implements ServletContextListener { public void contextDestroyed(ServletContextEvent event) { ServletContext servletContext = event.getServletContext(); // 通过WebApplicationContextUtils 得到Spring容器的实例。 ApplicationContext application = WebApplicationContextUtils .getWebApplicationContext(servletContext); // 返回Bean的实例。 SystemServletContextLoader systemServletContextLoader = (SystemServletContextLoader) application .getBean("systemServletContextLoader"); //初始化所有的枚举类型的实体 systemServletContextLoader.closeServletContext(servletContext); } public void contextInitialized(ServletContextEvent event) { ServletContext servletContext = event.getServletContext(); // 通过WebApplicationContextUtils 得到Spring容器的实例。 ApplicationContext application = WebApplicationContextUtils .getWebApplicationContext(servletContext); // 返回Bean的实例。 SystemServletContextLoader systemServletContextLoader = (SystemServletContextLoader) application .getBean("systemServletContextLoader"); //初始化 systemServletContextLoader.initServletContext(servletContext); } }
3,spring配置一个systemServletContextLoader的bean
<bean id="systemServletContextLoader" class="com.zainta.pregnancy.web.listener.SystemServletContextLoader"> <property name="enumEntityPackage" value="${enumration.entity.package}"></property> </bean>
${enumration.entity.package}这个是系统定义枚举类型所放置的包,比方叫com.xxxx.entity.enumeration
4,这个bean所得对应的内容如下
/** * */ package com.zainta.pregnancy.web.listener; import java.net.URL; import java.util.HashMap; import java.util.Map; import javax.servlet.ServletContext; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.springframework.stereotype.Component; import com.opensymphony.xwork2.util.ResolverUtil; /** * @author Downpour * */ @Component("systemServletContextLoader") public class SystemServletContextLoader { private static final Log logger = LogFactory .getLog(SystemServletContextLoader.class); private String enumEntityPackage; /* * (non-Javadoc) * * @see * com.demo2do.core.web.loader.ServletContextLoader#initServletContext(javax * .servlet.ServletContext) */ public void initServletContext(ServletContext servletContext) { if (logger.isDebugEnabled()) { logger.debug("Initial ServletContext for system"); } // alias enum entity to servletContext aliasEnumEntity(servletContext); servletContext.setAttribute("ctx", servletContext.getContextPath()); } /* * (non-Javadoc) * * @see * com.demo2do.core.web.loader.ServletContextLoader#closeServletContext( * javax.servlet.ServletContext) */ public void closeServletContext(ServletContext servletContext) { if (logger.isDebugEnabled()) { logger.debug("Destroying ServletContext for system"); } servletContext.removeAttribute("enums"); servletContext.removeAttribute("ctx"); } /** * Alias Enum entity under entity package * * @param servletContext */ protected void aliasEnumEntity(ServletContext servletContext) { // first find out all the enum classes according to the entity packages ResolverUtil<Object> resolver = new ResolverUtil<Object>(); resolver.find(new ResolverUtil.Test() { @SuppressWarnings({ "rawtypes" }) public boolean matches(Class type) { return Enum.class.isAssignableFrom(type); } @Override public boolean matches(URL resource) { // TODO Auto-generated method stub return false; } @Override public boolean doesMatchClass() { return true; } @Override public boolean doesMatchResource() { // TODO Auto-generated method stub return false; } }, enumEntityPackage); Map<String, Object> enums = new HashMap<String, Object>(); for (Class<?> clazz : resolver.getClasses()) { String key = clazz.getName().substring( clazz.getName().lastIndexOf(".") + 1); try { enums.put(key, clazz.getMethod("values").invoke(clazz)); } catch (Exception e) { e.printStackTrace(); } } servletContext.setAttribute("enums", enums); } public String getEnumEntityPackage() { return enumEntityPackage; } public void setEnumEntityPackage(String enumEntityPackage) { this.enumEntityPackage = enumEntityPackage; } }
这个类通过配置的枚举类型所放的包,通过反射的方式拿到枚举类型
5,枚举类型的类如下
package com.zainta.pregnancy.entity.enumeration; /** *@author : rannie.chen@zainta.com *@version: 2012-10-24上午10:16:27 *@desc: */ public enum FakeStatus { //0,非冒名 NOTFAKED("enum.fake_status.notfaked"), //1,疑似 UNSURE("enum.fake_status.unsure"), //2,冒名 FAKED("enum.fake_status.faked"); FakeStatus(String key) { this.key = key; } String key; public String getKey() { return key; } public void setKey(String key) { this.key = key; } public int getOrdinal() { return this.ordinal(); } }
message_zh_CN.properties配置文件如下
#enum enum.fake_status.notfaked=非冒名 enum.fake_status.unsure=疑似 enum.fake_status.faked=冒名
6,jsp页面如使用方式
a,<%@ taglib prefix="fmt" uri= "http://java.sun.com/jsp/jstl/fmt" %>
<fmt:setBundle basename ="message" />这是配置枚举类型显示的文件
message_zh_CN.properties,这个要在spring配置文件预先加载
b,使用如下
<select name = ""> <option value = "">--请选择--</option> <c:forEach items="${enums['FakeStatus']}" var = "fakeStatus"> <option value = "${fakeStatus}"> <fmt:message key = "${fakeStatus.key}"></fmt:message> </option> </c:forEach> </select>
发表评论
-
工作内容总结
2013-01-05 09:45 19911,maven添加非官方jar包到本地库 mvn instal ... -
思雨搜索框架name的书写格式
2012-10-14 15:38 1379/** 属性比较类型. */ EQ, LIKE, LT, GT ... -
配置新环境
2012-04-18 15:10 12281,安装jdk,配置环境变量 ①新建“JAVA_HOME ... -
migraion 做数据库版本管理
2011-10-18 20:27 1221可以使用migration对数据库版本做维护,他会默认找到ve ... -
HttpClient入门
2011-09-21 18:06 1089HttpClient简介 HTT ... -
Eclipse安装birt报表插件
2010-10-28 18:03 114321. BIRT 概述 BIRT是一个Eclipse-base ... -
javascript 时间操作
2010-10-13 18:53 12711,给固定格式字符串返回date 给一个字符串类型的dat ... -
Java相对路径读取文件
2010-09-21 10:09 1990不管你是新手还是老鸟,在程序中读取资源文件总会遇到一些找不到文 ... -
获得每日,每周,每月的0点和24点的时间戳
2010-08-22 10:12 38269//获得当天0点时间 public static int g ... -
Spring相关概念
2010-07-23 17:37 902spring 的优点? 1.降低了组件之间的耦合性 ,实现了 ... -
discuz 论坛相关操作
2010-06-22 10:43 1408Discuz批量删除未审核的主题和回复的办法 用phpMy ... -
ajax
2010-02-09 11:21 806我的淘宝店http://shop60787115.taobao ... -
vim 使用
2010-02-02 11:15 1127我的淘宝店http://shop60787115.taobao ... -
QQ,MSN,SKYPE等在线状态代码
2010-01-25 17:44 2509我的淘宝店http://shop60787115.taobao ... -
Spring--quartz中cronExpression配置说明
2010-01-19 20:50 959我的淘宝店http://shop60787115.taobao ... -
Java项目SVN自动编译重启
2010-01-07 10:59 2718我的淘宝店http://shop60787115.taobao ... -
ftp 报错500 OOPS: Connection closed by remote host.
2010-01-07 10:19 3659我的淘宝店http://shop60787115.taobao ...
相关推荐
如果要在 QML使用 C++中定义的类型,有些数据类型是是可以直接使用的,如常见的 int,但是还有一些相对特殊的类型就需要做些特定的操作才可以使用了。 博客地址:...
非常有用的枚举类型使用例子,简化了数据采集通道的定义。
thinkPHP调用枚举类型,里面根据参数不同返回值不同,初步只封装了input(radio、check)、td、select等。
详细介绍枚举数据类型的定义及在c语言中的应用
枚举类型是C/C++中用户自定义的构造类型,它是由用户定义的若干枚举常量的集合。枚举值对应整型数值,默认从0开始。比如定义一个描述性别的枚举类型。 enum Gender{Male,Female}; 其中枚举值Male被编译器默认赋值为...
$casts 特性,将查询出的数据自动转换成枚举实例提供了便捷的比较方法is、isNot和in,用于枚举实例之间的对比内置了多种实用的枚举集:标准的 Http 状态码枚举定义,方便在 API 返回响应数据时设置 Http 状态码;...
本文将介绍J2SE5.0中三个比较重要的特性:枚举类型,注释类型,范型,并在此基础上介绍在如何在Eclipse3.1开发环境中开发枚举类型,注释类型和范型应用。J2SE5.0(Tiger)的发布是Java语言发展史上的一个重要的里程碑,是...
什么是枚举? 枚举是一种特殊的数据类型,用于定义具有固定个数的常量集。它可以帮助我们更好地管理常量,使代码更...在这个例子中,我们定义了一个枚举类型Day,其中包含了七个常量值:MONDAY、TUESDAY、WEDNESDAY、TH
我们经常使用的大多数集合实际上都已经实现了枚举的接口IEnumerable和IEnumerator接口,这样才能使用foreach迭代,有些是含有某种抽象了枚举细节的接口:ArrayList类型有索引,BitArray有Get方法,哈希表和字典有键...
结构体可由多中数据类型的元素组成(将不同的数据类型组合成为一个整体),比如描述一个学生信息,学生的学号使用long int类型存储、年龄用int类型存储、姓名用字符串(字符数组)存储。如果是一个学生,可以只需声明3个...
第十章 构造数据类型及其应用本章学习目标:掌握枚举类型、结构体类型、联合体类型的定义了解枚举类型、结构体类型、联合体类型及其变量的区别了解枚举类型、结构体类型、
第十章 构造数据类型及其应用本章学习目标:掌握枚举类型、结构体类型、联合体类型的定义了解枚举类型、结构体类型、联合体类型及其变量的区别了解枚举类型、结构体类型、
第十章 构造数据类型及其应用本章学习目标:掌握枚举类型、结构体类型、联合体类型的定义了解枚举类型、结构体类型、联合体类型及其变量的区别了解枚举类型、结构体类型、
11.10.1 枚举类型的定义和枚举变量的说明 184 11.10.2 枚举类型变量的赋值和使用 185 11.11 类型定义符typedef 12 位运算 12.1 位运算符C语言提供了六种位运算符: 189 12.1.1 按位与运算 191 12.1.2 按位或运算 ...
单项选择题 (1)在声明一个结构体类型时系统分配给它的存储空间是 。... 可以在定义枚举类型时对枚举元素进行初始化 C. 枚举元素表中的元素有先后次序,可以进行比较 D. 枚举元素的值可以是整数或字符串 【答】D
实例086枚举类型的定义与使用 实例087用new动态创建结构体 实例088使用结构体标识操作员名称密码和级别 实例089创建包括12个月份的枚举类型 实例090带有函数的结构体 3.2 指针、地址与引用 实例091使用指针自增操作...
基本类型包括整型、实型、字符型等,而构造类型包括数组、结构体、枚举类型、共用体等。 基本类型: * 整型:包括带符号整型和无符号整型两种,无符号整型只能表示正数,而带符号整型可以表示负数。 * 实型:包括...
C语言中用户自己建立的数据类型:包含结构、结构体组、结构体指针的定义和使用、指针处理链表、共用体、枚举的定义和使用。
(1)定义一个CPU类,包含等级(rank)、频率(frequency)、电压(voltage)等属性,有两个公有成员函数run、stop,其中rank为枚举类型CPU_ Rank,定义为enum CPU_ Rank(P1 = 1,P2,P3,P4,P5,P6,P7),frequency为...