Spring 是否有<;的PropertyPlaceHolder配置程序;portlet首选项>;?
我了解到存在以下问题: 将占位符解析为ServletContext init参数(即web.xml上下文参数条目)Spring 是否有<;的PropertyPlaceHolder配置程序;portlet首选项>;?,spring,portlet,preferences,Spring,Portlet,Preferences,我了解到存在以下问题: 将占位符解析为ServletContext init参数(即web.xml上下文参数条目) 有人知道类似于解析占位符的PropertyPlaceholderConfigurer(即portlet.xmlportlet首选项条目)吗 下面是我如何解决这个问题的,我最终编写了一个类似于ServletContextPropertyPlaceHolderConfigure的类…-) 干杯, Gerson你有没有发现如何做到这一点?遗憾的是,没有。我最终用getPortletPre
有人知道类似于解析占位符的
PropertyPlaceholderConfigurer
(即portlet.xml
portlet首选项
条目)吗 下面是我如何解决这个问题的,我最终编写了一个类似于ServletContextPropertyPlaceHolderConfigure的类…-)
干杯,
Gerson你有没有发现如何做到这一点?遗憾的是,没有。我最终用getPortletPreference方法创建了一个bean。然后,我在spring配置中使用这个bean将首选项值定义为bean——我可以在整个spring配置中使用它。到目前为止,它对我们很有效。
public class PortletConfigPropertyPlaceholderConfigurer extends
PropertyPlaceholderConfigurer implements PortletConfigAware {
private PortletConfig portletConfig;
private boolean configOverride = false;
public void setPortletConfig(PortletConfig portletConfig) {
this.portletConfig = portletConfig;
}
public void setConfigOverride(boolean configOverride) {
this.configOverride = configOverride;
}
@Override
protected String resolvePlaceholder(String placeholder, Properties props) {
String value = null;
if (this.configOverride && this.portletConfig != null) {
value = resolvePlaceholder(placeholder, this.portletConfig);
}
if (value == null) {
value = super.resolvePlaceholder(placeholder, props);
}
return value;
}
protected String resolvePlaceholder(String placeholder,
PortletConfig portletConfig) {
return portletConfig.getInitParameter(placeholder);
}
}