问题描述
我是一个初学者,我有一个小的多模块Maven项目,可用来和 tomcat(8.5)一起玩。该项目的框架来自几年的在线课程(这是一个法语平台:“ https://openclassrooms.com/fr/courses/4503526-organisez-et-packagez-une-application-java-avec-apache -maven”),然后使用最新版本的 Eclipse IDE
进行编码现在,我正在研究 webapp模块, 我的目标是在jsp文件中打印来自webapp POM的某些属性(应用程序的名称,项目版本和时间戳)
为此,我将过滤选项与maven war插件一起使用。首先,如下所示,将依赖项放在父POM中
<pluginManagement>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<version>3.1.0</version>
</plugin>
</plugins>
</pluginManagement>
<properties>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
<!-- app public name -->
<application.name>Ticket</application.name>
<!-- format timestamp -->
<maven.build.timestamp.format>dd/MM/yyyy</maven.build.timestamp.format>
<buildTimestamp>${maven.build.timestamp}</buildTimestamp>
</properties>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<configuration>
<webResources>
<resource>
<directory>src/main/webapp</directory>
<filtering>true</filtering>
<includes>
<include>_include/header.jsp</include>
<include>_include/footer.jsp</include>
<include>about.jsp</include>
</includes>
</resource>
</webResources>
</configuration>
</plugin>
问题在于,当我将此Webapp部署在tomcat上时,这些属性显示为空。我认为可以读取并解析EL,但不能打印出值
jsp«about.jsp»:
<body>
<%@ include file="_include/header.jsp"%>
<div class="container">
<ul>
<li>Application : ${application.name}</li>
<li>Version : ${project.version}</li>
<li>Date du build : ${maven.build.timestamp}</li>
</ul>
</div>
<%@ include file="_include/footer.jsp"%>
</body>
例如,行“版本:$ {project.version}” 在网络浏览器中显示为“版本:” ,而不是“版本:1.0-SNAPSHOT” 。
最后,我编写了一个小servlet,以便使用名为“ Aboutsrv.java”的Eclipse运行应用程序。
@WebServlet("/Aboutsrv")
public class Aboutsrv extends HttpServlet {
private static final long serialVersionUID = 1L;
public Aboutsrv() {
super();
}
protected void doGet(HttpServletRequest request,HttpServletResponse response)
throws servletexception,IOException {
this.getServletContext().getRequestdispatcher("/WEB-INF/about.jsp").forward(request,response);
}
protected void doPost(HttpServletRequest request,IOException {
}
}
然后我尝试不使用蚀食,因此我使用«mvn clean package»构建项目,并使用来自tomcat的文件管理器部署了.war,但结果是相同的。>
我试图在互联网上的其他地方找到类似的主题,但是我只发现了有关将过滤器设置到POM中的旧主题(我已经这样做了)
总的来说,我真的可以使用外部视角,因为我用完了解决方案
谢谢:)
(如果需要,我可以显示整个文件,如POM,但我尝试使其尽可能短,同时从我的初学者的角度仍然提供所有启示信息)
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)