我正在尝试从我的控制器渲染一个jsp页面,但我发现这个奇怪的事情正在发生。当我运行应用程序时,它会显示页面的实际html代码,而不是显示视图。这很奇怪我可能做错了什么。因此,基本上,当我运行我的应用程序时,将显示欢迎页面的整个html代码。
@UIApplicationMain
class AppDelegate: UIResponder, UIApplicationDelegate {
var window: UIWindow?
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
JSP
package com.example.DemoService;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import java.util.Map;
@Controller
public class HelloController {
@RequestMapping("/test")
public String welcome(Map<String, Object> model) {
model.put("message", "Raaj");
return "welcome";
}
}
的pom.xml
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<html>
<body>
Hello ${message}
</body>
</html>
答案 0 :(得分:1)
您需要做多件事:
添加application.properties
这个(假设您的jsp位于src/webapp/WEB-INF/jsp
)
spring.mvc.view.prefix = / WEB-INF / JSP / spring.mvc.view.suffix = .JSP
尝试将tomcat-embed-jasper
与<scope>compile</scope>
<dependency>
<groupId>org.apache.tomcat.embed</groupId>
<artifactId>tomcat-embed-jasper</artifactId>
<scope>compile</scope>
</dependency>
似乎有一个错误,至少在IntelliJ中,如果你用<scope>provided</scope>
运行它,它将无法识别jsps。如果您使用maven(mvn spring-boot:run
)运行,则无论scope