springmvc select 标签的默认选中,和springmvc控制器 错误回显时,带值。
在springmvc的前端jsp页面中,使用select有两种写法
从后端控制器,获取session的值对象后,再注入到前端的jsp页面中,如下
第一种,这种把options已经集成进去了。
<form:select path="zhouyiIndex.id" class="form-control" id="zhouyiIndex" items="${zhouyiIndex }" itemValue="id" itemLabel="info"></form:select>
第二种,这种分别写select 和options,这种会自动选中,若session中有值。
<form:select path="zhouyiIndex.id" class="form-control" id="zhouyiIndex" > <form:options items="${zhouyiIndex }" itemValue="id" itemLabel="info"></form:options> </form:select>
第二种的情况,后端代码为:
@RequestMapping("zhouyiYaoModify/{id}")
public String zhouyiYaoModify(@PathVariable("id") Integer id,Map<String,Object> map) {
map.put("zhouyiYao", zhouyiYaoService.getZhouyiYaoById(id));
map.put("zhouyiIndex", zhouyiIndexService.getZhouyiIndexs());
return "zhouyiYaoModify";
}
第二种方法,可以自动选中。
也可以再在options 上加入,option(没有s)选项,然后单独写一行。不推荐。
在springmvc的控制器中,如出现错误提示,在前台页面,显示时,必须使用springmvc的标签,如<form:input path="">,用普通原始的标签,出错误后,回显时,不带值。
另外在携带级联属性时,需要填写不带本bean的级联路径。
在错误回显时,返回字符串不带redirect和forward,修饰符。
举例子说明:
@RequestMapping("/zhouyiYaoUpdate")
public ModelAndView zhouyiUpdate(@Valid ZhouyiYao zhouyiYao, BindingResult errors,
@RequestParam(value = "picFile") MultipartFile multipartFile, @RequestParam("picName") String picName,
HttpServletRequest request) {
ModelAndView mv = new ModelAndView();
if(!picName.isEmpty()) {
if(multipartFile.getOriginalFilename().toString().isEmpty()) {
errors.addError(new FieldError("zhouyiYao", "yaoPic", "*若填写名字,必须选择文件"));
}
}
if(!multipartFile.getOriginalFilename().toString().isEmpty()) {
if(picName.isEmpty()) {
errors.addError(new FieldError("zhouyiYao", "yaoPic", "*若选择文件,必须填写名字"));
}
}
if(errors.getFieldErrorCount()>0){
// for (FieldError err : errors.getFieldErrors()) {
// System.out.println("err field:= " +err.getField() + " err message: == " +err.getDefaultMessage());
// }
mv.setViewName("zhouyiYaoModify");
mv.addObject("zhouyiIndex", zhouyiIndexService.getZhouyiIndexs());
return mv;
}
zhouyiYaoService.modifyZhouyiYao(zhouyiYao);
mv.setViewName("redirect:/getYaos");
return mv;
}
前台页面如下:
<form:form modelAttribute="zhouyiYao" class="form-horizontal" id="saveForm" > <div class="form-group"> <label for="zhouyiIndex.info" class="col-sm-2 control-label">原主卦</label> <div class="col-sm-2"> <form:input type="text" path="zhouyiIndex.info" id="zhouyiIndex.info" class="form-control" readonly="true" /> <form:hidden path="id" value="${zhouyiYao.id }"/> </div>
<div class="form-group"> <label for="zhouyiIndex" class="col-sm-2 control-label">主卦</label> <div class="col-sm-6"> <form:select path="zhouyiIndex.id" class="form-control" id="zhouyiIndex" > <form:options items="${zhouyiIndex }" itemValue="id" itemLabel="info"></form:options> </form:select> </div> </div>
浙公网安备 33010602011771号