如何在XML Spring中正确使用SpEL

时间:2014-06-30 21:21:30

标签: java spring

我想使用静态方法

创建带有我的资源的util bean
 ClassLoader.getSystemResource

以及

 File.separator

她是我的util资源地图

 <util:map id="ImageFiles" key-type="java.lang.String"  value-type="java.lang.String" >
    <entry key="success" value="#{ClassLoader.getSystemResource("icons"+File.separator+"png"+File.separator+"24x24"+File.separator+"OK.png")}" />
    <entry key="error" value="OptionPane.errorIcon" />
    <entry key="info" value="OptionPane.informationIcon" />
  </util:map>

但我在Xml中得到了解析语法错误。有可能做到这样吗??

2 个答案:

答案 0 :(得分:2)

要使用SpEL中的静态方法,您应该详细了解最后一个one

<entry key="success" value="#{T(com.my.proj.pack.ClassLoader).getSystemResource("icons"+File.separator+"png"+File.separator+"24x24"+File.separator+"OK.png")}" />

答案 1 :(得分:0)

确切地说,之前的说法如何;以下示例:

<util:map id="nameToPeriod">
    <entry key="${validation.cycle.units.representation.month}" value="#{T(org.joda.time.Months).ONE}" />
    <entry key="${validation.cycle.units.representation.day}" value="#{T(org.joda.time.Days).ONE}" />
    <entry key="${validation.cycle.units.representation.hour}" value="#{T(org.joda.time.Hours).ONE}" />
    <entry key="${validation.cycle.units.representation.week}" value="#{T(org.joda.time.Weeks).ONE}" />
</util:map>