gpt4 book ai didi

spring - @NumberFormat 注释不起作用

转载 作者:行者123 更新时间:2023-12-02 02:55:30 26 4
gpt4 key购买 nike

尝试在 JSP 中显示货币符号,但我没有看到它。我做了研究,但我只是不知道我还应该添加什么才能让它发挥作用。这就是我所拥有的。

<mvc:annotation-driven />

Controller

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

@ModelAttribute("value")
@NumberFormat(style = Style.CURRENCY)
public Double getValue() {
return value;
}

@RequestMapping(method = RequestMethod.GET)
public ModelAndView loadForm(@ModelAttribute("user") User user) {
ModelAndView instance
modelAndView.addObject("value", 100.00);
return modelAndView;
}

JSP

<spring:bind path="value">
<input type="text" name="${value}" value="${value}"/>
</spring:bind>

<spring:bind path="value">
${value}
</spring:bind>

输出

 <input type="text" name="value" value="100.0"/>

100.0

最佳答案

尝试使用字符串文字value作为名称属性,而不是使用EL解析它

<spring:bind path="value">
<input type="text" name="value" value="${value}"/>
</spring:bind>

此外,将字段值移动到新对象中。目前我不相信代码正在使用 Controller 中的字段或 Controller 中的 getter。

public class MyForm(){

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

@ModelAttribute("value")
@NumberFormat(style = Style.CURRENCY)
public Double getValue() {
return value;
}
}

然后将对象添加到 Controller 中的模型中:

@RequestMapping(method = RequestMethod.GET)
public ModelAndView loadForm(@ModelAttribute("user") User user) {
ModelAndView instance
modelAndView.addObject("myForm", new MyForm());
return modelAndView;
}

然后通过jsp访问:

<spring:bind path="myForm.value">
<input type="text" name="${status.expression}" value="${status.value}"/>
</spring:bind>

<spring:bind path="myForm.value">
${status.value}
</spring:bind>

目前代码的主要问题是它没有使用字段/访问器,它只是在模型中放置一个值,该模型不使用任何带注释的字段/方法。

引用文献: http://www.captaindebug.com/2011/08/using-spring-3-numberformat-annotation.html#.UOAO_3fghvA

How is the Spring MVC spring:bind tag working and what are the meanings of status.expression and status.value?

关于spring - @NumberFormat 注释不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14089688/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com