我尝试使用注释驱动配置在 Spring 3.2 中呈现 JSP,但 JSP 呈现为字符串并且不进行评估。
我正在使用 Maven jetty 插件来运行开发中的 Web 应用程序。所以看起来好像一切都应该“正常工作”。
我使用 JSP 时包含的依赖项是
<dependency>
<groupId>javax.servlet.jsp</groupId>
<artifactId>jsp-api</artifactId>
<version>2.1</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jstl</artifactId>
<version>1.2</version>
</dependency>
配置JSP的bean是
@Configuration
public class WebAppConfiguration {
@Bean
public InternalResourceViewResolver internalResourceViewResolver() {
InternalResourceViewResolver resolver = new InternalResourceViewResolver();
resolver.setPrefix("/views/");
resolver.setSuffix(".jsp");
return resolver;
}
}
Controller 非常简单
@Controller
public class RootController {
@RequestMapping(value = "/login")
public String login() {
return "login";
}
JSP 也很简单
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %>
<!DOCTYPE html>
<html>
<head></head>
<body>
<%= "Hello World" %>
${ "Hello World" }
<form name="auth" action="<c:url value='j_spring_security_check' />" method="POST">
<label>Username: <input type="text" name="j_username"></label>
<label>Password: <input type="password" name="j_password"></label>
<input type="submit" value="Submit"/>
</form>
</body>
</html>
正如您从图像中看到的,JSP 没有被评估。我需要做些什么来告诉 JSP 在渲染时进行评估吗?
编辑 1
因此,为了获得一些额外信息,我使用了 Resthub archetype resthub-mongodb-backbonejs-archetype引导该项目,该项目使用 WebAppInitializer 而不是旧的 web.xml,并且使用新的注释驱动 bean 而不是 xml bean。
编辑2
我已经为此苦恼了很长时间,所以我把这个项目放到了 github 上 https://github.com/austinbv/calendar/ 。因为我不知道什么是重要的,什么是不重要的。
感谢您的帮助
最佳答案
@austinbv 请使用 SPRING LINK检查设置。 (正如 @Rohit 在上面指出的那样 - 缺失的部分)
关于java - JSP 不使用 Spring MVC 进行评估,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14915739/