当我试图将布尔值从urlMap到spring控制器时,它总是Map为false。
这是我的网址
http://localhost:8080/myurl?isFirstTime=true
这是我的控制器
@RequestMapping(value = "/myurl", method = RequestMethod.GET)
public ResponseEntity<?> getMyUrl(@Valid @ModelAttribute MyObject ap,BindingResult bindingResult ) {
//here isFirstTime is always set to false
}
MyObj
是POJO,并且具有其他几个完美Map的属性
public class Myobj{
private boolean isFirstTime
//there are other members as well
//getter setter
我试着把@JsonProperty
,但这也没有工作
@JsonProperty
private boolean isFirstTime
你知道我哪里做错了吗
3条答案
按热度按时间2ic8powd1#
使用@ModelAttribute,将初始化对象:
在您的情况下,它可能与最后一个语句有关。
您可以尝试2种方法来解决它:- 在www.example.com中为构造函数提供布尔参数Myobj.java-添加更多方法以首先初始化@ModelAttribute Myobj
oo7oh9g92#
最简单的方法可能是
//此处isFirstTime始终从传入请求参数初始化//您可以将其设置为ap.isFirstTime(isFirstTime);//或者任何setter方法
}
ryevplcw3#
我在这个问题上遇到了困难,但是我发现我们必须使用Boolean对象而不是Boolean原语类型来正确地将布尔值Map到ModelAttribute中