我正在使用tomcat 6.我的应用程序上下文xml文件包含:
<bean id="placeholderConfig" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="location" value="file:#{contextParameters['my-filename']}"/>
</bean>
我的web.xml文件:
<context-param>
<param-name>my-filename</param-name>
<param-value></param-value>
</context-param>
我想做以下事情:
my-filename
的值为空,当用户运行tomcat服务器时,他应该被重定向到配置页面,在那里他可以设置属性文件的位置,我的意思是my-filename
值。所以现在它抛出异常FileNotFoundException
而不是继续。你能告诉我如何怀疑文件未找到异常并将用户重定向到配置页面。
答案 0 :(得分:0)
您应该能够使用指向您需要创建的空文件的默认值:
<bean id="configLocation" class="java.lang.String">
<constructor-arg type="java.lang.String" value="file:#{contextParameters['my-filename']:./default-empty-file.properties}"/>
</bean>
<bean id="placeholderConfig" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="location" ref="configLocation"/>
</bean>
然后检查是否正在使用默认值:
@Autowired
@Qualifier("configLocation")
String configLocation;
final static String EMPTY_CONFIG_LOCATION = "file:./default-empty-file.properties";
@RequestMapping(method = RequestMethod.GET)
public String SomeAction(){
if (EMPTY_CONFIG_LOCATION.equals(configLocation)) {
// redirect
return "redirect:configPage";
} else {
// do the normal stuff
}
}