我正在尝试使用注释驱动配置在 Spring 3.2 中呈现 JSP,但 JSP 呈现为字符串并且不被评估。
我正在使用 maven jetty 插件在开发中运行 webapp。所以似乎一切都应该“正常工作”。
我包括使用 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
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 原型 resthub-mongodb-backbonejs-archetype来引导这个项目,它使用 WebAppInitializer 而不是旧的 web.xml,它使用新的注释驱动 bean 而不是 xml bean。
编辑 2
很长时间以来,我一直在努力解决这个问题,所以我把这个项目放在了 github https://github.com/austinbv/calendar/上。因为我不知道什么重要什么不重要。
谢谢您的帮助