考虑以下类DialgBean.java,它定义网页上对话框的属性。下面是类及其bean定义
public class DialogBean{
private int height;
public void setHeight(int height)
...
}
<bean id="dialogBean" class="org.springhelp.DialogBean">
<property name="height" value="${dialogBean.height}"/>
...
</bean>
从上面的例子中,您可以看到PropertyPlaceholderConfigurer正在获取DialogBean的height属性。
问题是我正在处理的应用程序支持多个客户端,并且大多数客户端对对话框的height参数有不同的要求。因此,我不能简单地从一个属性文件中提取height参数。
那么,如何使用上面描述的bean定义将客户端特定的height参数注入DialogBean,其中客户端id作为变量存储在java.util.Locale对象中?
有没有办法传递给自定义bean工厂后处理器运行时数据,如Locale?
答案 0 :(得分:1)
听起来你需要一个ResourceBundle
,或者用Spring的说法,MessageSource
。将它注入到bean中,并以编程方式解析运行时所需的值。
MessageSource
可以包装基本的ResourceBundle
,并且更容易使用。
答案 1 :(得分:1)
更简单但更麻烦的解决方案是
当然,选项列表必须按优先顺序排列。