• 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>
  • 相关阅读:
    笔记二
    笔记一:高效的可维护的,组件化的CSS
    移动端调自适应的方法
    前端世界的憧憬
    JAVA继承、多态与接口
    JAVA第一周
    常用CSS标签1——属性
    回头再看N层架构(图解)
    .net 配置加密
    小小商城的一次前端架构演变
  • 原文地址:https://www.cnblogs.com/sdgtxuyong/p/12177153.html
Copyright © 2020-2023  润新知