gpt4 book ai didi

java - spring 表单标签具有默认值

转载 作者:行者123 更新时间:2023-12-01 15:03:25 24 4
gpt4 key购买 nike

在我的jsp中,我使用spring表单标签来绑定(bind)和更新数据。

我的场景是在用户进入页面时显示默认值。根据某些条件,这些默认值应来自数据库。但是当用户编辑数据并提交时,我想将它们保存在数据库中而不更新默认值。

非常感谢任何建议!

最佳答案

表单页面的标准方法是拥有一个具有两种方法的 Controller ,一种用于 GET,一种用于 POST。您还需要一个对象来绑定(bind)到表单。

处理 GET 的方法设置绑定(bind)对象并将其放入模型中,然后返回表单页面的 View 。这里的绑定(bind)对象可以使用可以从任何地方获取的默认值创建。您的绑定(bind)对象可能会有一些键,例如 ID。默认 key 可以有零/默认 key 。

处理 POST 的方法将绑定(bind)对象作为参数。它可能会验证值然后插入数据库。数据库很可能会生成 key /id。

这是一个例子;

@Controller
public class PersonController {

@RequestMapping(value="/person.do", method=RequestMethod.GET)
public ModelAndView setup() {
ModelAndView response = new ModelAndView("person");

//Create default bind object, can get values
//from database if you like. Here they're just
//hard coded.
Person person = new Person();
person.setName("Joe Bloggs");

response.addObject("person", person);
return response;
}

@RequestMapping(value="/person.do", method=RequestMethod.POST)
public ModelAndView post(@ModelAttribute("person") Person person,
BindingResult result) {
Validator.validate(person, result);
if (result.hasErrors()) {
ModelAndView response = new ModelAndView("person");
response.addObject("person", person);
return response;
} else {
personDao.store(person);
}

return new ModelAndView("redirect:nextPage.do");
}

}

关于java - spring 表单标签具有默认值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13311814/

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