我正在使用
@NumberFormat(style = Style.CURRENCY)
private Double value = 50.00;
在我的Spring MVC项目中。根据参考文档, " MVC:注解驱动"
足以绑定@NumberFormat等默认格式化程序。我成功地将它显示在我的JSP中但当我尝试通过
将其打印到控制台中的控制台时System.out.println(value);
根本没有格式化值。在我的研究中,我发现了JSP的多个示例,但没有用于控制台。为什么不在控制台中格式化数字?
答案 0 :(得分:1)
方法参数在Java中通过值传递。如果您调用类似println
的方法,则只需传递名为value
的成员变量的值 - 而不是变量本身。
println
方法无法知道值的来源,因此无法知道它来自名为value
的成员变量,它恰好有一个注释 - println
方法无法检查变量本身并发现注释,因为它不知道值的来源。
当您在JSP中执行此操作时,您没有使用普通的Java方法调用,您可能正在使用一些Spring特定的标记,您可以将变量的名称传递给它。然后,Spring标记处理程序将查找变量并查找注释,该注释用于确定如何格式化值。