快捷搜索:  as  test  1111  test aNd 8=8  test++aNd+8=8  as++aNd+8=8  as aNd 8=8

葡京娱乐场优惠办理大厅:巧用spring配置常量



有一些常量数据类型,比如泉币,省份,转帐类型,等等。我们法度榜样里都是用他们的代码进交运算的,但在页面显示的时刻只能用他的名称显示给用户看。

是以有下面特征:

1有键值对,

2不常常变更(支持有时有变更),

3常用在页面做下拉选择,

4在编辑页面的时刻此选择项又必须默认选中,

5键值关系固定。

碰着这种环境,有很多办理措施。比如可以在页面硬编码,把每个常量逐一在页面写逝世,这样做的后果是代码很多,假如多个页面都包孕此常量那么增添了掩护的难度,别的一种是应用<fmt:messag/>+属性文件来处置惩罚,虽然有所改良,但不能应用<c:if>测试和对照。下面我保举一种措施,盼望能对大年夜家有所赞助。实现步骤如下:

1、 写一个公用对象类,所有的属性经由过程Spring启动时刻注入

public class MyConstantUtils {

public static IBPConstantUtils obj;

public IBPConstantUtils (String string) {

obj = this;

}

/**

* 泉币类型键值对 Spring启动的时刻注入

*/

public Map currTypes;

public Map getC葡京娱乐场优惠办理大厅urrTypes() {

return currTypes;

}

public void setCurrTypes(Map currTypes) {

this.currTypes = currTypes;

}

//其他常量……

}

2、 设置设置设备摆设摆设文件web-xxx.xml,建议用一个零丁的文件来设置设置设备摆设摆设常量。

<!-- 在设置设置设备摆设摆设文件中设置设置设备摆设摆设常量 -->

<bean id="currTypes" class="java.util.HashMap">

<constructor-arg>

<map>

<entry key="USD">

<value>美元</value>

</entry>

<entry key="HKD">

<value>港元</value>

</entry>

<entry key="EUR">

<value>欧元</value>

</entry>

<entry key="JPY">

<value>日元</value>

</entry>

<entry key="AUD">

<value>AUD</value>

</entry>

<entry key="RMB">

<value>人夷易近币</value>

</entry>

</map>

</constructor-arg>

</bean>

<bean id="toolsUtils" class="com.xyz.util.MyConstantUtils ">

<constructor-arg>

<value>开始初始化对象类工具</value>

</constructor-arg>

<!-- 将常量注入单例工具中 -->

<property name="currTypes">

<ref bean="currTypes"/>

</property>

</bean>

3、在jsp中,因为我们用的是springMVC,一样平常定义一个包孕一些常用标签的jsp,如文件taglib.jsp:

<!-- taglibs.jsp -->

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

<%@ taglib prefix="fmt" uri="http://java.sun.c葡京娱乐场优惠办理大厅om/jstl/fmt" %>

<% request.setAttribute("MyConstantUtils",com.xyz.util.MyConstantUtils.obj); %>

在上面的jsp中随便将我们的静态工具保存在request中,在其他jsp文件中include进来即可应用我们在设置设置设备摆设摆设文件中的常量,如下面:

<%@include file="taglibs.jsp"%>

………

<tr align="center">

<td height="30" align="left">

<div align="right">币种*</div葡京娱乐场优惠办理大厅>

</td>

<td width="78%" height="30" align="left">

<select name="currType">

<c:forEach items="${MyConstantUtils.currTypes}"var="currType">

<option value='<c:outvalue="${currType.key}"/>'<c:iftest='${currType.key == "RMB"}'>selected</c:if>><c:out

value="${c葡京娱乐场优惠办理大厅urrType.value}"/></option>

</c:forEach>

</select>

</td>

</tr>

……………….

相对应用 <fmt:messag/>+属性文件 有下面好处:

1、可以遍历所有的选项,也可以不必要葡京娱乐场优惠办理大厅遍历,即可只掏出某一个。例如当在查询列表中从后台传来的是泉币代码,那么直接掏出显示:

<td><c:out value="${MyConstantUtils.currTypes[dep.currType]}"/></td>

2、回显时可以<c:if>测试当选中的选项,如上面的代码将 RMB改为变量即可

3、不必要专门的读取解析设置设置设备摆设摆设文件

4、类和jsp中都可以方便应用

5、可扩展性好,虽然是常量但也有可能变更,如增添一个新的泉币的时刻,只改动设置设置设备摆设摆设文件即可,jsp不用改动

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

您可能还会对下面的文章感兴趣: