java - Spring EL 不起作用

标签 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>

Controller 类:

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() 时,不会调用。有什么问题吗?

最佳答案

您不应从 View 中调用 Controller 方法。您可以使用 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>

关于java - Spring EL 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24740646/

相关文章:

java - 如何修复 - 41 : non-static variable cannot be referenced from a static context -> What is the reason for this?

java - 找不到 Array.equal(charAt)

java - JPA 查询 选择新的

javascript - 即使请求 format=json,YQL 也会返回 application/javascript

java - 将 java 类导入 JSP

java - form.submit() 将在表单内触发 double

java - JMeter是否支持UI的性能测试

java - 静态和非静态初始化代码块有什么区别

java - spring中@ModelAttribute、model.addAttribute有什么区别?

java - <c :set>? 的 JSP 2 版本是什么