我有一个简单的Spring Boot MVC应用程序,但我似乎无法在我的视图中呈现$ {}标记。
根据研究,我已将以下依赖项添加到我的POM.XML文件中,但这没有帮助。
<dependency>
<groupId>org.apache.tomcat.embed</groupId>
<artifactId>tomcat-embed-jasper</artifactId>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jstl</artifactId>
</dependency>
这是我打电话的控制器:
@Controller
public class AppController {
@RequestMapping("/")
public ModelAndView applicationRoot() {
ModelAndView mav = new ModelAndView();
mav.setViewName("app/login");
mav.addObject("name", "John Doe");
return mav;
}
}
以下是我的观点:
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %>
<%@ taglib prefix="template" tagdir="/WEB-INF/tags/template" %>
<template:login metaTitle="Intranet Login">
<h1>Please login</h1>
<h2>${name}</h2>
</template:login>
模板标签
<%@ tag body-content="scriptless" dynamic-attributes="dynamicAttributes" trimDirectiveWhitespaces="true" %>
<%@ attribute name="metaTitle" type="java.lang.String" rtexprvalue="true" required="true" %>
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<!DOCTYPE html>
<html>
<head>
<title>${metaTitle}</title>
</head>
<body>
<jsp:doBody />
</body>
</html>
我将此项目作为war文件部署到Apache TomCat。