2017-11-02 20 views
1

모든보기에 JSP : include 태그를 사용하여 메뉴를 표시합니다. 어제 나는 당신이 실제로 메뉴를 반환하기 전에 어떤 처리를 할 수있게 해주는 컨트롤러 메서드를 포함 할 수 있다는 것을 알게되었습니다.jsp : 제어기 메소드가 컨트롤러에서 작동하지 않습니다. 리턴

<%@ include file="menu.jsp" %> 

이 변경 메뉴가있을 때 모델에 부울 값을 전달 나를 수 있습니다 : 난 그냥이 작업을 수행하는 데 사용

<jsp:include page="/menu/showMenu"/> 

: 내가 뭐하는 거지 것은 내가 모든 페이지에이를 추가 해요입니다 사용자가 액세스 할 수있는 항목에 따라 특정 옵션을 표시하거나 표시하지 않으려 고 반환했습니다. 이 기능은 페이지를 처음로드 할 때 완벽하게 작동하지만 컨트롤러 처리가 완료되면 메뉴가 완전히 사라집니다. 예를 들어, 데이터베이스에서 로그 항목을 보여주는 테이블이있는 로그 페이지가 있습니다. 열 머리글에는 제출 될 때 제어기 메소드를 호출하여 로그 목록을 필터링하고 필터링 된 데이터를 표시하는 양식의 일부인 검색 필드가 있습니다. 이 컨트롤러 메소드에서 return 문은 단순히 : 원본을 사용하는 경우이 완벽하게 작동

return "logs"; 

는 컨트롤러 방법 등의 새로운 접근 방식 대신 컨트롤러 메소드의 실제 JSP 파일 만로 점 메뉴가 사라 것을 포함 필터링 로직이 페이지를 반환 할 때 내가 항상 할 수있는 것은 JSP 파일을 포함하고 JSP에 직접 서비스 호출을 배치하여 사용자가 각 함수에 액세스 할 수 있는지 확인하지만 실제로이 물건을 처리하고 부울 값을 전달하는 아이디어를 선호한다. JSP로.

이 동작이 나타나는 이유는 무엇입니까? 필요한 경우 코드 예제를 제공 할 수 있습니다.

감사합니다.

+0

GET 요청에서 돌아 왔을 때 메뉴가 표시되지만 POST 요청에서 돌아 오는 경우 표시되지 않는 패턴을 발견했습니다. 모든 GET 메서드는 메뉴가 표시된 페이지를 반환합니다. – Martin

+0

나는 그것을 이해했다! 내 메뉴 컨트롤러에 POST 메서드를 추가해야했습니다. GET 메소드와 완전히 똑같지 만 다른 컨트롤러의 POST 메소드에서 리턴 된 페이지에 포함될 때 필요합니다. 희망이 누군가를 도울 수 있습니다! – Martin

+0

이것이 중복 질문이 아니라고 가정하면 자신의 질문에 대한 대답을 알아 냈기 때문에 자답을 제공 할 수 있습니다. – Lexi

답변

0

나는 그것을 알아 냈다! 내 메뉴 컨트롤러에 POST 메서드를 추가해야했습니다. GET 메소드와 완전히 똑같지 만 다른 컨트롤러의 POST 메소드에서 리턴 된 페이지에 포함될 때 필요합니다. 희망이 누군가를 도울 수 있습니다!