gpt4 book ai didi

java - Spring MVC 中数字数据不绑定(bind)

转载 作者:行者123 更新时间:2023-12-01 19:39:14 24 4
gpt4 key购买 nike

在开发基于 Spring MVC 的项目时,我尝试将数据从 JSP 绑定(bind)到模型。

虽然字符串数据由于某种原因完美绑定(bind),但数字数据根本没有绑定(bind)。

我已经检查过POJO和JSP中的参数名称是相同的

下面是我的 Controller 代码

@RequestMapping(value = "/investor-signup", method = RequestMethod.GET)
public String registration(Model model) {
model.addAttribute("investor", new InvestorRegister());
return "investor-signup";
}

@RequestMapping(value = "/investor-signup", method = RequestMethod.POST)
public String registration(@ModelAttribute("investor") InvestorRegister investor, BindingResult bindingResult, Model model) {

System.out.println(investor.getFULL_NAME());
System.out.println(investor.getMOB_NO());

investorRegisterService.save(investor);
return "redirect:/login";
}

下面是我的 JSP 代码

<form:form method="post" action="investor-signup"
modelAttribute="investor" id="contact-form"
style="padding-top: 40px;" role="form" class="formcss" align="left">

<div class="controls">
<div class="row">
<div class="col-md-12">
<div class="form-group">
<div class="col-md-2 ">
<label for="user_name">Full Name *</label>
</div>
<div class="col-md-10 p0">
<input id="user_name" type="text" name="FULL_NAME" class="form-control" required="required" data-error="Full Name is required.">
</div>
<div class="help-block with-errors"></div>
</div>
</div>

<div class="col-md-12">
<div class="form-group">
<div class="col-md-2">
<label for="user_mobile">Mobile *</label>
</div>
<div class="col-md-6 ">
<input id="user_mobile" type="number" name="MOB_NO" class="form-control" required="required" data-error="Mobile No is required.">
</div>
<div class="help-block with-errors"></div>
</div>
</div>

<div class="col-md-12" align="center">
<input type="submit" class="btn btn-success btn-send" value="Register">
</div>

</div>
</form:form>

下面是我的模型 POJO

@Entity
@Table(name = "InvestorRegister")
public class InvestorRegister {
@Id
@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "SEQ_GEN")
@SequenceGenerator(name = "SEQ_GEN", sequenceName = "IID_SEQ")
@Column(name = "ID")
private int ID;

@NotEmpty
@Column(name = "FULL_NAME")
private String FULL_NAME;

@Column(name = "MOB_NO")
private int MOB_NO;

public int getID() {
return ID;
}
public void setID(int iD) {
ID = iD;
}

public String getFULL_NAME() {
return FULL_NAME;
}
public void setFULL_NAME(String fULL_NAME) {
FULL_NAME = fULL_NAME;
}

public int getMOB_NO() {
return MOB_NO;
}
public void setMOB_NO(int mOB_NO) {
MOB_NO = mOB_NO;
}
}

虽然字符串数据由于某种原因完美绑定(bind),但数字数据根本没有绑定(bind)

我已经检查过POJO和JSP中的参数名称是相同的

感谢任何帮助。

最佳答案

@abhi314,您是否尝试过单独提取字段?我的意思是,您是否尝试过其中任何一个只是为了检查值是否来自 View 侧?

public String registration(@RequestParam("FULL_NAME") String FULL_NAME, @RequestParam("MOB_NO") int MOB_NO) {
//check value comes or not
}

或者

public String registration(@RequestBody InvestorRegister  ir) {
//check value comes or not
}

如果您通过这种方式检查是否获得值(value),请告诉我

关于java - Spring MVC 中数字数据不绑定(bind),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55935383/

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