Spring EL不起作用

时间:2014-07-14 15:54:23

标签: java spring jsp spring-mvc

我试图用Spring MVC编写Hello页面。

的hello.jsp

<%@page isELIgnored="false"%>
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>JSP Page</title>
    </head>
    <body>
        <h1>${hello.test()}</h1>
    </body>
</html>

控制器级:

package Controllers;

import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;

@Controller
public class Hello {

    @RequestMapping(value="/test.htm")
    public String test()
    {
        return "Hello";
    }

}

但是当我请求http://localhost:8080/WebApplication1/test.htm时,方法test()没有被调用。有什么问题?

1 个答案:

答案 0 :(得分:2)

您不应该从视图中调用控制器方法。您可以使用JSF但不能使用JSP。看看这个例子:

@Controller
public class Hello {

    @RequestMapping(value="/test.htm")
    public String test(Model uiModel){
        uiModel.addAttribute("yourkey", "Hello World"); // put some data
        return "Hello"; // means "open Hello.jsp"
    }
}

现在您可以阅读数据:

<%@page isELIgnored="false"%>
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>JSP Page</title>
</head>
<body>
    <h1>${yourkey}</h1>
</body>
</html>