发表于: 2020-06-26 21:57:12

1 1716


SSM整合 Controller的编写

 @Controller
public class StudentController {
//    @Autowired
//    StringUtil stringUtil;
       @Autowired
StudentService studentService;
       private static final Logger log= LogManager.getLogger(StudentController.class);
       /**
        * 跳转到学生添加界面
        */
       @RequestMapping(value = "toStudentMore")
public String toAddStudent(){
log.info("1");
           return "StudentMore";
       }

//查询,带校验
       //bindingResult接受错误
       @RequestMapping(value="StudentByName",method = RequestMethod.GET)
public String findStudent(Model model,HttpServletRequest request, String name,
                                 @Validated Student student, BindingResult bindingResult){

if(name.length()==0&& bindingResult.hasErrors()){
//输出错误信息
               List<ObjectError> allErrors = bindingResult.getAllErrors();
               for (ObjectError objectError:allErrors){
log.error(objectError.getDefaultMessage());
               }
//将错误信息传至页面
               model.addAttribute("allErrors",allErrors);
               //出错则重新至商品更新页面
               log.error(bindingResult);
               return "error";
           }
log.error(bindingResult);
           List<Student> studentList=studentService.findStudentByName(name);
           //System.out.println(studentList);
           //addAttribute提交到前台,视图层才能显示数据
           model.addAttribute(studentList);
           return "ChosenOne";
       }

@RequestMapping(value = "StudentMore")
public String addStudent(Model model,HttpServletRequest request,@Validated Student student,BindingResult bindingResult) {
if(student.getName().length()==0||student.getStudent_id()<1||bindingResult.hasErrors()){
//输出错误信息
               List<ObjectError> allErrors = bindingResult.getAllErrors();
               for (ObjectError objectError:allErrors){
log.error(objectError.getDefaultMessage());
               }
//将错误信息传至页面
               model.addAttribute("allErrors",allErrors);
               //出错则重新至商品更新页面
               log.error("执行了if语句块");
               return "error";
           }
student.setCreate_time(System.currentTimeMillis());
           student.setUpdate_time(System.currentTimeMillis());
           studentService.insertStudent(student);
           model.addAttribute("student", student);
           return "insertSuccess";
       }


//查询一个学生
   /*@RequestMapping(value="StudentById",method = RequestMethod.GET)
   public String findStudent(Model model, String name,
             @Validated Student student, BindingResult result){
       if (name==null && result.hasErrors()){
           List<ObjectError>allErrors=result.getAllErrors();
           for (ObjectError objectError:allErrors) {
               System.out.println(objectError.getDefaultMessage());
           }
           model.addAttribute("errors",allErrors);
           return "/error.jsp";
       }
       List<Student> studentList=studentService.findStudentByName(name);
       //System.out.println(studentList);
       //addAttribute提交到前台,视图层才能显示数据
       model.addAttribute(studentList);
       return "ChosenOne";
   }*/

       //删除
       @RequestMapping(value = "StudentLesser/{id}",method = RequestMethod.DELETE)
public String deleteStudent(@PathVariable long id,@Validated Student student,BindingResult result){
boolean flag = studentService.deleteStudent(id);
           log.info("1");
           if (flag = true){return "redirect:/actionSucceed";}
else return "redirect:/actionFailed";
       }

@RequestMapping(value = "actionSucceed",method = RequestMethod.GET)
public String aS(){
return "deleteSuccess";
       }
@RequestMapping(value = "actionFailed",method = RequestMethod.GET)
public String aF(){
return "error";
       }
@RequestMapping(value = "AllStudent", method =RequestMethod.GET)
public String findAllStudent(Model model,
                                    @RequestParam(defaultValue = "1",required = true,
                                            value = "pageNo") Integer pageNo) {
Integer pageSize=5;//每页显示记录数为5
           PageHelper.startPage(pageNo,pageSize);
           List<Student>studentList=studentService.findAllStudent();//获取所有用户信息

           PageInfo<Student> pageInfo =new PageInfo<Student>(studentList);
           model.addAttribute("pageInfo",pageInfo);
           return "AllStudent";
       }

//jsontaglib返回查询一个人
       //通过@ResponseBody注解的方式,方法返回的对象不会经过视图解析器的渲染
   /*@RequestMapping(value = "findStudent_jstl",method = RequestMethod.GET)
   public @ResponseBody JSONObject jsonDemo()throws JSONException{
       Student student = studentService.findStudentById(180);
       log.error(student);
       JSONObject jsonObject = new JSONObject();
       jsonObject.put("name",student.getName());
       jsonObject.put("wish",student.getWish());
       return jsonObject;
       //no converter错误
   }*/

       //测试ResponseBody
       @RequestMapping("testJson")
@ResponseBody
public HashMap testJ()
{
HashMap student = new HashMap();
           student.put("student.id ", "1");
           student.put("student.name ", "王全");
           student.put("student.school ", "hbpu");
           student.put("student.major ", "java");
           return student;
       }

//使用json tag-lib生成假数据.
       @RequestMapping("testJson2")
public String selectAll(Model model) {
List<Student> students = studentService.findAllStudent();
           model.addAttribute("code", "200");
           model.addAttribute("message", "传递成功");
           model.addAttribute("students", students);
           return "json";
       }

}

明天计划的事情:Controller没写完 有些代码也没理解 
遇到的问题:MVC几个语法的错误 导致的BUG 百度解决
收获:又理解了一点MVC


返回列表 返回列表
评论

    分享到