아빠아버지
1k
2020-01-07 09:20:39
11
827

java에서 Model값을 jsp에서 출력이 안되는 문제



//    회원가입 내용 저장하기
    @RequestMapping(value = "member/joinSave", method = RequestMethod.POST)
    public String joinSave(@ModelAttribute MemberDTO dto, @RequestParam String password2, Model model) throws Exception{

//      아이피 체크를 위한 local변수
        InetAddress local;
//      아이피 정보 가져오기
        local = InetAddress.getLocalHost();
        String ip = local.getHostAddress();
        dto.setJoin_ip(ip);

//        비밀번호가 같은지 체크
        if(!dto.getPassword().equals(password2)){
//        아이디 중복체크
            MemberDTO result = MemberService.checkId(dto);
            logger.info("result : " + result);
            if(result != null){
                model.addAttribute("msg", "현재 아이디는 사용하고 있는 아이디입니다.");
                return "/member/join";
            }
            model.addAttribute("msg", "입력하신 비밀번호가 같지 않습니다.");
            return "/member/join";
        }
        MemberService.join(dto);
        return "redirect:/member/list";
    }

위와같이 코딩을 했을 때
아이디가 중복되거나 비밀번호가 같지 않으면 jsp단에서 

/member/join 페이지에서 ${msg}를 하면 오류값이 출력이 되어야 하는데 왜 출력이 안될까요?ㅜㅜ

java단에서 로그를 찍으면 분명히 아이디나 비번이 중복됐을꼉우 해당 로그가 찍히는데 jsp단에서는 메시지가 하나도 출력이 안되네요.ㅠㅠ

0
  • 답변 11

  • 김모씨
    3k
    2020-01-07 09:48:17

    jsp문제인듯 java쪽은 문제없어보입니다.

  • ShipJH
    1k
    2020-01-07 09:52:25
    redirect:/member/list
  • 아빠아버지
    1k
    2020-01-07 09:54:06

    김모씨님// 답변 감사합니다.

    jsp쪽에서는 

    msg : ${msg}

    이렇게만 하면 출력이 되어야 하는데 출력이 안되는 이유를 모르겠어요..ㅠㅠ

    jsp 상단에 아래 taglib를 넣어줬는데 core만 넣어주면 정상적으로 나와야 되는걸로 알고 있는데..ㅠㅠ


    <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
    <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
    <%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %>


  • 아빠아버지
    1k
    2020-01-07 09:55:07

    ShipJH님//

    정상적으로 값들이 체크가 됐을때는 redirect로 보내지고, 그렇지 않을 경우에 ${msg}값을 출력하려고 합니다.

  • 김모씨
    3k
    2020-01-07 09:58:31

    msg를 항상보내되, msg.status = ok  or error + msg.message  ="xxx오류입니다."  "성공하였습니다" 같이 다른 메세지를 넣어주는게 더 쉬워보이네요.  그럼 무조건 msg를 받는걸로 생각하고 개발하면 되니까요. 

  • 아빠아버지
    1k
    2020-01-07 10:07:32

    김모씨님//

    msg를 항상 보내면.. redirect에서는 값이 전달이 안되고, 포워딩일때만 값이 전달되는걸로 알고있는데요.

  • ShipJH
    1k
    2020-01-07 10:35:52

     제말이 너무 짧았네요..  /member/join  <-- 이게 jsp 경로이신건 맞죠?^^ requestMapping경로 아닌거 맞죠?

  • ShipJH
    1k
    2020-01-07 10:38:05
    //    회원가입 내용 저장하기
        @RequestMapping(value = "member/joinSave", method = RequestMethod.POST)
        public String joinSave(@ModelAttribute MemberDTO dto, @RequestParam String password2, Model model) throws Exception{
    
               model.addAttribute("msg", "test.");
                return "/member/join";
    
        }  
  • ShipJH
    1k
    2020-01-07 10:38:30

    요렇게 해서 함 보내보세요.. 테스트

  • 아빠아버지
    1k
    2020-01-07 11:17:33 작성 2020-01-07 11:20:04 수정됨

    ShipJH님///

    그렇게 해봐도 아무값도 안찍히네요...

    로그도 찍어봤는데 로그는 콘솔창에서 정상적으로 찍히는데.. 
    jsp화면에서는 화면깜빡임도 없이 submit버튼을 계속 누르면 로그만 계속 찍히고 있네요..


    INFO : com.basic.board.controller.MemberController - success
    INFO : com.basic.board.controller.MemberController - success
    INFO : com.basic.board.controller.MemberController - success
    INFO : com.basic.board.controller.MemberController - success
    INFO : com.basic.board.controller.MemberController - success
    INFO : com.basic.board.controller.MemberController - success
    INFO : com.basic.board.controller.MemberController - success
    


  • 배워보즈아아
    40
    2020-01-07 13:05:30

    post get 확인 하셨나요 뷰단 보고싶네요

  • 로그인을 하시면 답변을 등록할 수 있습니다.