我有一个config.properties文件:
date_format="yyyy-MM-dd"
我的springmvc-servlet.xml:
<bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="locations">
<list>
<value>classpath:config/config.properties</value>
</list>
</property>
</bean>
这是我的控制器类:
@Controller
@RequestMapping("/T")
public class Test extends BaseController
{
@Value("${date_format}")
private static final String format; // Here, I want a final String as a constant
@RequestMapping(value = "t2")
@ResponseBody
public String func(@RequestParam("date") @DateTimeFormat(pattern = format) Date date)
{
return date.toString();
}
}
我想在最终变量上使用@Value注释,该变量在注释@DateTimeFormat中使用。
@DateTimeFormat需要一个最终的String变量,这就是我需要在最终变量上使用@Value的原因。但它目前不起作用。有什么想法吗?
答案 0 :(得分:0)
我回答了这样的问题 https://stackoverflow.com/questions/7130425...
我将删除static修饰符,并执行以下操作:
@Controller
@RequestMapping("/T")
public class Test extends BaseController{
@Value("${date_format}")
private final String format; // Removed static
public Test (@Value("${date_format}") format){
this.format = format;
}
@RequestMapping(value = "t2")
@ResponseBody
public String func(@RequestParam("date") @DateTimeFormat(pattern = format) Date date){
return date.toString();
}
}