티스토리 뷰

반응형

문제

Spring MVC 개발에서 개발자는 모델에 값을 설정하고 EL을 통해 JSP에 값을 표시하려고한다. 예를 들어 $ {msg} 와 같이 결과를 출력한다 . "value"가 아닌 $ {msg} 모델에 저장됩니다. EL이 JSP에서 작동하지 않는 이유는 무엇입니까?

Spring’s Controller

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.AbstractController;

public class ABCController extends AbstractController{

	@Override
	protected ModelAndView handleRequestInternal(HttpServletRequest request,
		HttpServletResponse response) throws Exception {

		ModelAndView model = new ModelAndView("HelloWorldPage");
		model.addObject("msg", "hello world");

		return model;
	}

}

JSP 페이지

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<html>
<body>
             ${msg}
</body>
</html>



1. JSP 1.2

DTD에 의해 정의 된 예전의 JSP 1.2 서술자 를 사용한다면 , 예를 들어 
web.xml

<!DOCTYPE web-app PUBLIC
 "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
 "http://java.sun.com/dtd/web-app_2_3.dtd" >

<web-app>
//...
</web-app>

EL은 기본적으로 비활성화되거나 무시되며 수동으로 활성화해야 "msg"모델에 값 저장소가 출력됩니다.

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<html>
<head>
<%@ page isELIgnored="false" %>
</head>
<body>
           ${msg}
</body>
</html>

2. JSP 2.0

당신이 사용하는 경우 표준 JSP 2.0 기술자를, W3C 스키마 정의 예를 들어, 
web.xml에

<web-app id="WebApp_ID" version="2.4"
	xmlns="http://java.sun.com/xml/ns/j2ee"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
	http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
//...
</web-app>

EL은 기본적으로 사용 가능하며 "msg"모델에 저장된 값은 "hello world"이어야합니다.


반응형
댓글
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   2024/12   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
글 보관함