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>

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM