我想知道spring form tag& amp; controller @RequestMapping()方法

时间:2016-06-30 04:42:10

标签: spring annotations

  1. 这个jsp文件' selectDetail.jsp'为客户输入他们的信息 并点击更新'按钮到' update.do'
  2. 
    
        <%@ page language="java" contentType="text/html; charset=UTF-8"
            pageEncoding="UTF-8"%>
        <%@ taglib prefix="spring" uri="http://www.springframework.org/tags" %>    
        <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
        <html>
        <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title><spring:message code="member.detail.title"  arguments="${member.id}"/></title>
        </head>
        <body>
        	아이디 : ${member.id}<br>
        	비밀번호 : ${member.passwd }<br>
        	이름 : ${member.name }<br>
        	날짜 : ${member.reg_date }<br>
        	<a href="list.do">목록보기</a> | 
        	<a href="update.do?id=${member.id }">update</a> | 
        	<a href="delete.do?id=${member.id }">삭제</a> | 
        </body>
        </html>
    &#13;
    &#13;
    &#13;

    1. &#39; UpdateController.java&#39;得到更新。&#39;由&#39; @RequestMapping&#39;命令。 首先,&#39; updateForm()工作。方法的b / c得到。转到&#39; updateForm.jsp&#39;
    2. &#13;
      &#13;
      package dr.mini.controller;
      
      import org.apache.log4j.Logger;
      import org.springframework.beans.factory.annotation.Autowired;
      import org.springframework.stereotype.Controller;
      import org.springframework.validation.BindingResult;
      import org.springframework.web.bind.annotation.ModelAttribute;
      import org.springframework.web.bind.annotation.RequestMapping;
      import org.springframework.web.bind.annotation.RequestMethod;
      import org.springframework.web.bind.annotation.RequestParam;
      import org.springframework.web.servlet.ModelAndView;
      
      import dr.mini.dao.MemberDao;
      import dr.mini.domain.MemberCommand;
      import dr.mini.validator.MemberValidator;
      
      @Controller
      public class UpdateController {
      	private Logger log = Logger.getLogger(this.getClass());	
      	
      	@Autowired
      	private MemberDao memberDao;
      
      	public void setMemberDao(MemberDao memberDao) {
      		this.memberDao = memberDao;
      		System.out.println("UpdateController의 setMemberDao()호출");
      	}
      	
      	//1) Get방식: value(요청명령어), method(방식종류)
      	@RequestMapping(value="/update.do", method=RequestMethod.GET)	
      	public ModelAndView updateForm(@RequestParam("id") String id){
      		MemberCommand memberCommand = memberDao.getMember(id);
      		System.out.println("1updateForm()");
      return new ModelAndView("updateForm", "memberCommand", memberCommand);
      		
      	}
      
      	
      	//2) Post방식
      	@RequestMapping(value="/update.do", method=RequestMethod.POST)
      	public String submit(MemberCommand memberCommand, BindingResult result){
      		
      		if(log.isDebugEnabled()){
      			log.debug("3memberCommand="+memberCommand);
      		}
      		MemberValidator mv = new MemberValidator(); 
      		System.out.println("validate 실행 전 ");
      		mv.validate(memberCommand, result);
      		System.out.println("validate 실행 후 ");
      		
      		
      		if(result.hasErrors()){ 
      			System.out.println("updateForm()으로 페이지 이동");
      			return "updateForm"; 
      		}
      		
      		memberDao.updateMember(memberCommand); 
      		
      		return "redirect:/list.do";		
      	}
      }
      &#13;
      &#13;
      &#13;

      1. &#39; updateForm.jsp&#39;输出memberCommand信息。客户改变他的信息。他点击了&#39;보내기&#39;按钮。然后去找UpdateController.java&#39;再次致电&#39;提交()&#39;
      2. &#13;
        &#13;
        <%@ page language="java" contentType="text/html; charset=UTF-8"
            pageEncoding="UTF-8"%>
        <%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %>
        <%@ taglib prefix="spring" uri="http://www.springframework.org/tags" %>      
        <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
        <html>
        <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title><spring:message code="member.update.title"/></title>
        </head>
        <body>
        
        	<h2>레코드 수정</h2>
        
        	<form:form commandName="memberCommand">
        	<form:errors element="div"/>
        		아이디 : ${memberCommand.id}<br>
        		비밀번호 : <form:password path="passwd" showPassword="false"/><font color="red"><form:errors path="passwd"/></font><br>
        		이름 : <form:input path="name"/><font color="red"><form:errors path="name"/></font> <br>
        			
        		<input type="submit" value="보내기">
        		
        	</form:form>
        </body>
        </html>
        &#13;
        &#13;
        &#13;

        大家, 我不知道如何调用submit()。当客户点击&#39;보내기&#39;按钮没有&#39; update.do&#39;路径。在哪里添加此路径。

0 个答案:

没有答案