그래서 스프링 MVC를 배우려고하는데, 시도한 첫 번째 튜토리얼은 model.addAttribute("printme", "From spring");
이고 JSP는 ${printme}
입니다.JSP EL에서 requestScope 변수를 찾을 수 없습니까?
내 컨트롤러는 간단하다 :
@RequestMapping(value = "index", method = RequestMethod.GET)
public String index(Model modelMap) {
System.out.println("on method");
modelMap.addAttribute("printme", "Hello Spring FROM INDEX !!");
return "index";
}
나는 그것이 작동하지 않는 코드를 실행
, 그래서 나는 JSP에 추가 시작했다.나는 몸이 함께 상처 :
<h1>
${param.printme}
<br />
${printme}
<br />
${requestScope.printme}
<br />
<%=request.getParameter("printme")%>
<br />
<%=request.getAttribute("printme")%>
<br />
<%=pageContext.findAttribute("printme")%>
</h1>
내 출력 소스는 다음과 같습니다
<h1>
<br />
<br />
Hello Spring FROM INDEX !!
<br />
null
<br />
Hello Spring FROM INDEX !!
<br />
Hello Spring FROM INDEX !!
</h1>
내가
request.getParameter()
에서 나에게 빈 문자열뿐만 아니라 널 (null)을
param.printme
을 기대했다.
${printme}
검색 요청 범위를 찾아서 찾아야합니까?
는 ${printme}
는
${requestScope.printme}
<%=requestScope.getAttribute("printme")%>
및<%=pageContext.findAttribute("printme")%>
으로 동일하지 않나요?
여기에 무슨 일이 일어나고 있는데, ${printme}
속성을 찾는 이유는 무엇입니까?
나는 단지 ${requestScope.printme}
을 계속 사용할 수 있지만 더 장황하고 왜 그것이 어떻게 작동하는지 알고 싶습니다.
중요한 경우 나는 Tomcat7.0.52, Spring 4.0 xsds 및 java ee 3.0 xsds를 사용하고 있습니다.
글쎄, 결함이있는 프로젝트를 삭제했습니다. 그래서 나는 내가 가진 것과 당신이 제공 한 것을 더 이상 비교할 수 없습니다. 그러나 이것을 사용하여 잘 작동합니다. 컨트롤러 클래스를 bean으로 명시 적으로 선언하지 않고 스프링을 구성했다는 것을 알고 있습니다. (참고 : netbeans를 사용하고 Maven이 아닙니다.) 아직 시도하고 있습니다. xml 비트가 무엇을 제어하는지 알아 내고, 주석을 달았습니다 : annotation-config (적절한 사용을 생각하지 않았습니다) 컨텍스트 : 적절한 기본 패키지와 mvc : annotation-driven으로 구성 요소 스캔 ... 예상대로 결과를 얻으면서 올바른 것으로 표시하십시오 .. – MatrixPeckham
@MatrixPeckham이 정보는 도움이 될 수 있습니다. http://stackoverflow.com/questions/35807056/how-many-ways-are-there-to-configure-the- spring-framework-what-are-the-differen –