我正在对一个非常古老的Java项目进行更新转换,并在Spring Boot下进行转换。但是,我在使用Apache Tiles使用Struts2 .ftl
构建前端页面时遇到困难。由于某种原因,我得到此错误JspTaglibs未定义。当它尝试加载页面时,无法将其分配给切片。
我已经检查过我必须拥有所有Jar文件(我想?),但由于我对.ftl
或瓷砖一点都不熟悉,我无法弄清楚问题是什么
依赖关系:
<dependency>
<groupId>org.apache.tiles</groupId>
<artifactId>tiles-core</artifactId>
<version>2.2.2</version>
</dependency>
<dependency>
<groupId>org.apache.tiles</groupId>
<artifactId>tiles-api</artifactId>
<version>2.2.2</version>
</dependency>
<dependency>
<groupId>org.apache.tiles</groupId>
<artifactId>tiles-jsp</artifactId>
<version>2.2.2</version>
</dependency>
<dependency>
<groupId>org.apache.struts</groupId>
<artifactId>struts2-core</artifactId>
<version>2.1.8.1</version>
</dependency>
<dependency>
<groupId>org.apache.struts</groupId>
<artifactId>struts2-tiles-plugin</artifactId>
<version>2.1.8</version>
</dependency>
<dependency>
<groupId>org.freemarker</groupId>
<artifactId>freemarker</artifactId>
<version>2.3.15</version>
</dependency>
我正在将图块分配给页面
<#assign tiles=JspTaglibs["http://tiles.apache.org/tags-tiles"]>
<@tiles.insertAttribute name="navigation" />
<@tiles.insertAttribute name="body" />
答案 0 :(得分:0)
将此添加到web.xml
或使用Spring Boot启动此servlet。
<servlet>
<servlet-name>jspSupportServlet</servlet-name>
<servlet-class>org.apache.struts2.views.JspSupportServlet</servlet-class>
<load-on-startup>5</load-on-startup>
</servlet>
需要在Struts 2中将Freemarker与Tiles集成。
您可以使用展示此类集成的struts-examples磁贴项目。还升级到最新的Struts版本。
您可以在pom.xml
中找到此项目的明智之处。
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<struts2.version>2.5.8</struts2.version>
</properties>