@NumberFormat控制台的注释

时间:2015-03-05 15:29:29

标签: java spring jsp spring-mvc annotations

我正在使用

 @NumberFormat(style = Style.CURRENCY)
 private Double value = 50.00;

在我的Spring MVC项目中。根据参考文档,      " MVC:注解驱动"

足以绑定@NumberFormat等默认格式化程序。我成功地将它显示在我的JSP中但当我尝试通过

将其打印到控制台中的控制台时
System.out.println(value);

根本没有格式化值。在我的研究中,我发现了JSP的多个示例,但没有用于控制台。为什么不在控制台中格式化数字?

1 个答案:

答案 0 :(得分:1)

方法参数在Java中通过值传递。如果您调用类似println的方法,则只需传递名为value的成员变量的 - 而不是变量本身。

println方法无法知道值的来源,因此无法知道它来自名为value的成员变量,它恰好有一个注释 - println方法无法检查变量本身并发现注释,因为它不知道值的来源。

当您在JSP中执行此操作时,您没有使用普通的Java方法调用,您可能正在使用一些Spring特定的标记,您可以将变量的名称传递给它。然后,Spring标记处理程序将查找变量并查找注释,该注释用于确定如何格式化值。