보기를 생성하기 위해 호출 된 컨트롤러와 컨트롤러를 알기를 원합니다. 이것이 내가에 액세스 할 수 있도록하려면 된 .js에 ... A가 이후의 .js,Spring MVC : 컨트롤러 + 액션 이름을보기에 전달하는 가장 좋은 방법은 무엇입니까?
<script src="/public/script.js"></script>
을 포함에,
<script>
var controller = "${controllerName}";
var controllerAction = "${controllerAction}";
</script>
과 : 사실, 내가보기에 이런 일을하고 싶지 두 변수 :
if(controller == "UserController" && controllerAction == "Edit")
{
// ...
}
else
{
// ...
}
내 질문 : 컨트롤러 및 동작 이름을보기에 자동으로 전달하는 가장 좋은 방법은 무엇입니까?
내 컨트롤러는 추상적 인 "BaseController"를 확장하므로 ModelAttribute에 해당 변수를 추가하는 가장 좋은 장소가있을 것입니다. 나는 구체적인 변수를 추가하기 위해 아무 것도 할 수 없도록 콘크리트 컨트롤러를 선호한다. 그러나 어떻게 부모 컨트롤러가 자식 컨트롤러의 이름과 동작 이름을 알 수 있습니까?
당신이 제안하는 더 나은 솔루션이 있나요 ... 내가 BaseController의 스택 트레이스를 확인할 수 있습니다,하지만 난이 솔루션별로 좋아하지 않아요?
해결 방법으로 답을 표시합니다. 감사합니다. 대부분의 경우, URL 구문 분석은 실제로 트릭을 수행합니다! 또한 인터셉터와 Spring 3.1을 사용하여 자동으로 두 변수를 전달하는 방법을 발견했습니다 (아래 "솔루션"참조). – electrotype