我有一个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。但这目前不起作用。有什么想法吗?
我回答了这样的问题 https://stackoverflow.com/questions/7130425...
我将删除静态修饰符并执行类似的操作:
@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();
}
}