복붙노트

[SPRING] 자바 스크립트 내에서 봄 MVC 컨트롤러 모델 키 값을 얻는 방법?

SPRING

자바 스크립트 내에서 봄 MVC 컨트롤러 모델 키 값을 얻는 방법?

나는 봄 mvc 컨트롤러를 사용하고 있습니다. 내부 컨트롤러 내가 모델 내부 문자열을 말할 수있는 몇 가지 가치를 가하고 있습니다. 이제 그 가치를 얻으려고하거나 그냥 자바 스크립트 안에 그 값을 인쇄 할 수 있습니다. 어떻게해야합니까? 여기 내 컨트롤러 클래스입니다. 나는 "영화"를 열쇠로 추가하고있다. 이제 자바 스크립트 안에 그 영화의 이름을 표시하고 싶습니다.

@Controller
@RequestMapping("/movie")
public class MovieController {

    @RequestMapping(value="/{name}", method = RequestMethod.GET)
    public String getMovie(@PathVariable String name, ModelMap model) {

        model.addAttribute("movie", name);
        return "list";

    }

}

여기 내 JSP가있다.

<html>
<head>
//I want to print movie name inside java script not inside jSP body tag.
<script type="text/javascript">
var movie_name = ${movie};
alert("movies name"+ movie_name);
</script>
</head>
<body>
    <h3>Movie Name : ${movie}</h3>//When i print here its working fine. 
</body>
</html>

해결법

  1. ==============================

    1.이것을 사용하십시오 :

    이것을 사용하십시오 :

    var movie_name = "${movie}";
    

    대신에:

    var movie_name = ${movie};
    

    $ {movie}를 사용할 때 값은 따옴표없이 페이지에 배치됩니다. 이후 내가 문자열을 추측하고있어, 자바 스크립트 문자열을 따옴표로 둘러싸여 있어야합니다.

    브라우저의 콘솔을 확인한 경우 예기치 않은 식별자 또는 ___이 정의되지 않았을 가능성이 있습니다.

  2. ==============================

    2.이 시도...

    이 시도...

    다음과 같이 모델에 객체를 추가했다면 :

    model.addAttribute("someObject", new Login("uname","pass"))
    

    그런 다음 모델 객체의 속성을 다음과 같이 얻습니다.

    var user_name = ${someObject.uname}; // This is assuming that the Login class has getter as getUname();
    var user_pass = ${someObject.pass};
    
  3. from https://stackoverflow.com/questions/16206754/how-to-get-spring-mvc-controller-model-key-value-inside-javascript by cc-by-sa and MIT license