这是我的模态,
public class Mymodel{
private String name;
private Details details;
//getters and setters
.........................
}
这是我的控制器,
@GetMapping("/form")
public ModelAndView formGet(ModelMap model) {
Mymodel mymodel = new Mymodel();
.....bla bla bla....
priceSearch.setDetails(anotherObj);
model.addAttribute("mymodel", mymodel);
return new ModelAndView("form",model);
}
@PostMapping("/form")
public ModelAndView pricePost(
@Valid @ModelAttribute("mymodel") Mymodel mymodel,
BindingResult bindingResult,
Model model) {
//can see the inside data of mymodel object when debugging..
modelAndView.setViewName("result");
return modelAndView;
}
这是我的观点, form.jsp
<form:form action="/form" commandName="mymodel"
method="POST" name="priceform"
enctype="multipart/form-data" novalidate="novalidate">
<div class="form-group">
<div class="col-md-6">
<div class="form-group">
<label for="name">name:</label>
<form:input path="name" cssClass="form-control input-sm" maxlength="20"/>
</div>
</div>
</div>
<div class="row">
<div class="col-md-2 col-md-offset-10">
<input type="submit" value="Submit"
class="btn btn-primary col-md-12" />
</div>
</div>
</div>
</form:form>
请注意,Mymodel有两个字段名称和详细信息,Details是一个非常复杂的类,我在get方法中填充它。我只想更新的是表单中的名称字段。但是当我提交表格时,细节数据不可用。似乎Mymodel不是一个持续的对象。如何建立连接。即使在表单字段中不可用,我也想从post方法访问详细信息数据。
答案 0 :(得分:0)
使用@SessionAttributes(COMMAND_NAME)