首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何配置Spring和Apache Tiles定义以从classpath解析jsps

要配置Spring和Apache Tiles定义以从classpath解析jsps,请按照以下步骤操作:

  1. 首先,确保已将Spring和Apache Tiles相关依赖添加到项目中。在Maven项目中,可以将以下依赖添加到pom.xml文件中:
代码语言:xml<dependency>
复制
   <groupId>org.springframework.boot</groupId>
   <artifactId>spring-boot-starter-web</artifactId>
</dependency><dependency>
   <groupId>org.apache.tiles</groupId>
   <artifactId>tiles-jsp</artifactId>
</dependency>
  1. 在Spring配置类中,配置Apache Tiles视图解析器。以下是一个示例配置:
代码语言:java
复制
import org.apache.tiles.definition.dao.ClassPathDefinitionsFactory;
import org.apache.tiles.definition.dao.DefinitionsDAO;
import org.apache.tiles.factory.AbstractTilesContainerFactory;
import org.apache.tiles.factory.BasicTilesContainerFactory;
import org.apache.tiles.impl.BasicTilesContainer;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.view.UrlBasedViewResolver;
import org.springframework.web.servlet.view.tiles3.TilesConfigurer;
import org.springframework.web.servlet.view.tiles3.TilesView;
import org.springframework.web.servlet.view.tiles3.TilesViewResolver;

@Configuration
public class TilesConfig {

    @Bean
    public TilesConfigurer tilesConfigurer() {
        TilesConfigurer tilesConfigurer = new TilesConfigurer();
        tilesConfigurer.setDefinitions(new String[] { "classpath:/tiles-definitions.xml" });
        tilesConfigurer.setCheckRefresh(true);
        return tilesConfigurer;
    }

    @Bean
    public UrlBasedViewResolver tilesViewResolver() {
        TilesViewResolver tilesViewResolver = new TilesViewResolver();
        tilesViewResolver.setViewClass(TilesView.class);
        return tilesViewResolver;
    }

    @Bean
    public BasicTilesContainerFactory tilesContainerFactory() {
        BasicTilesContainerFactory factory = new BasicTilesContainerFactory();
        factory.setDefinitionsFactoryClass(ClassPathDefinitionsFactory.class);
        return factory;
    }

    @Bean
    public BasicTilesContainer tilesContainer(DefinitionsDAO definitionsDao) {
        BasicTilesContainer container = new BasicTilesContainer();
        container.setDefinitionsFactory(definitionsDao);
        return container;
    }
}
  1. 在项目的classpath下创建一个名为tiles-definitions.xml的文件,并添加以下内容:
代码语言:xml
复制
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE tiles-definitions PUBLIC "-//Apache Software Foundation//DTD Tiles Configuration 3.0//EN" "http://tiles.apache.org/dtds/tiles-config_3_0.dtd">
<tiles-definitions>
   <definition name="base.definition" template="/WEB-INF/views/layout.jsp">
        <put-attribute name="header" value="/WEB-INF/views/header.jsp" />
        <put-attribute name="body" value="" />
        <put-attribute name="footer" value="/WEB-INF/views/footer.jsp" />
    </definition>

   <definition name="home" extends="base.definition">
        <put-attribute name="body" value="/WEB-INF/views/home.jsp" />
    </definition>
</tiles-definitions>
  1. layout.jsp文件中,添加以下内容以包含头部、主体和尾部:
代码语言:jsp
复制
<!DOCTYPE html>
<html>
<head>
   <title>My Application</title>
</head>
<body>
    <jsp:include page="${header}" />
    <jsp:include page="${body}" />
    <jsp:include page="${footer}" />
</body>
</html>

现在,Spring应用程序将从classpath解析jsps,并使用Apache Tiles定义来组织页面布局。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

  • Spring实战》读书笔记-第6章 渲染Web视图

    在《Spring实战》的书中是包括6.3 使用Apache Tiles视图定义布局6.4 使用Thymeleaf这两个小节的,但是考虑到平时开发使用的比较少,就不进行介绍了,感兴趣的小伙伴们可以自行学习...将视图解析为资源bundle(一般为属性文件) TilesViewResolver 将视图解析Apache Tile定义,其中tile ID与视图名称相同。...注意有两个不同的TilesViewResolver实现,分别对应于Tiles 2.0Tiles 3.0 UrlBasedViewResolver 直接根据视图的名称解析视图,视图的名称会匹配一个物理视图的定义...basename属性可以设置为类路径下(classpath:”作为前缀)、文件系统中(“file:”作为前缀)或Web应用的根路径下(没有前缀)查找属性。 现在,我们来创建这些属性文件。...在本章中,我们首先快速了解了一下Spring所提供的视图视图解析可选方案。我们还深入学习了如何Spring MVC中使用JSPApache Tiles

    97330

    Tomcat 6 --- 使用Jasper引擎解析JSP

    由于JVM只认识class文件,它不知道什么是JSP,因此在tomcat中 如何把JSP解析成java文件 就是本文所要描述的问题。...简单的说,就是把JVM不认识的JSP文件解析成java文件,然后编译成class文件提供使用。目前有很多的JSP解析引擎,Tomcat中使用的是Jasper。   ...在Tomcat中可以通过配置 CATALINA_HOME/conf/web.xml 中的内容,配置Jasper的选项(web.xml中的内容很长,截取其中的一部分): <!...如何利用Japser.Jspc自定义预编译JSP   1 jasper相关jar包   在tomcat6中提供了几个jasper的jar包,相对于之前版本,去掉了jasper-compiler.jar以及...参考 【1】Jasper2 JSP引擎:http://tomcat.apache.org/tomcat-6.0-doc/jasper-howto.html 【2】解读JSP解析过程:http://www.cnblogs.com

    1.9K70

    教你理清SpringBoot与SpringMVC的关系

    静态内容 默认情况下,Spring Bootclasspath下的/static(/public,/resources或/META-INF/resources)文件夹,或ServletContext...、 自定义Favicon Spring Boot favicon.ico在配置的静态内容位置类路径的根目录(按此顺序)中查找a 。如果存在这样的文件,它会自动用作应用程序的图标。...Spring MVC支持各种各样的模板技术,包括Velocity, FreeMarkerJSPs,很多其他的模板引擎也提供它们自己的Spring MVC集成。...如果遇到这个问题,你可以在IDE里重新对classpath进行排序,将模块的类资源放到第一位。...CORS支持 跨域资源共享(CORS)是一个大多数浏览器都实现了的W3C标准,它允许你灵活的方式指定跨域请求如何被授权,而不是采用那些不安全,性能低的方式,比如IFRAME或JSONP。

    2.2K40

    教你理清SpringBoot与SpringMVC的关系

    静态内容 默认情况下,Spring Bootclasspath下的/static(/public,/resources或/META-INF/resources)文件夹,或ServletContext...、 自定义Favicon Spring Boot favicon.ico在配置的静态内容位置类路径的根目录(按此顺序)中查找a 。如果存在这样的文件,它会自动用作应用程序的图标。...Spring MVC支持各种各样的模板技术,包括Velocity, FreeMarkerJSPs,很多其他的模板引擎也提供它们自己的Spring MVC集成。...如果遇到这个问题,你可以在IDE里重新对classpath进行排序,将模块的类资源放到第一位。...CORS支持 跨域资源共享(CORS)是一个大多数浏览器都实现了的W3C标准,它允许你灵活的方式指定跨域请求如何被授权,而不是采用那些不安全,性能低的方式,比如IFRAME或JSONP。

    1.7K30

    SpringMVC的简介工作流程「建议收藏」

    可适配、非侵入:可以根据不同的应用场景,选择合适的控制器子类 (simple型、command型、form型、wizard型、multi-action型或者自定义),而不是单一控制器 (比如Action...可定制的handlermappingview resolution:Spring提供最简单的URL映射, 到复杂的、专用的定制策略。...可定制的本地化主题(theme)解析:支持在JSP中可选择地使用Spring标签库、支持JSTL、支持Velocity(不需要额外的中间层)等等。...-- 配置sprigmvc视图解析器:解析逻辑视图; 后台返回逻辑视图:index 视图解析解析出真正物理视图:前缀+逻辑视图+后缀====/WEB-INF/jsps/index.jsp...配置方面:spring MVCSpring是无缝的。

    82620

    Ant下载安装及使用详解

    Apache Ant 的配置文件写成 XML 容易维护和书写,而且结构很清晰。 1 简介 Ant 是一个 Apache 基金会下的跨平台的基于 Java 语言开发的构件工具。...Ant 开始需要一系列的预先定义好的任务。 Ant 提供了开发自定义任务的接口。 Ant 可以很容易从命令行调用,并且它能够很好地集成免费商用的集成开发环境。...2.2 官网下载配置 ? 让配置生效 source ~/.bash_profile 验证配置成功 ant -version ?...这个教程将以简单的方式向你展示如何利用 Apache Ant 来自动地构建和部署项目的过程。在完成本教程的学习以后,你将会发现你已经具备下一阶段学习 Apache Ant 中等水平的专业知识 。...首先,我们创建一个构建目录,如果该目录不存在,我们就执行 javac 命令(具体 jdk 1.5 作为我们目标的编译环境)。

    3.1K41

    springmvc学习第二天

    配置tomcat编码 * 使用post请求乱码 在web.xml里面配置编码过滤器 * @ModelAttribute 在方法定义上使用 @ModelAttribute 注解:Spring MVC 在调用目标处理方法前...项目环境准备: 配置web.xml入口文件: l 前端控制器(DispatcherServlelt) l 编码过滤器 l 加载spring配置文件 配置spring核心配置文件(beans.xml) l...-- 配置视图解析器 后台返回逻辑试图:hello 视图解析器功能:解析出真正的物理视图 前缀+逻辑视图+后缀=====/WEB-INF/jsps/hello.jsp --> <bean class="...-- ssm整合使用接口代理开发模式: <em>spring</em>扫描接口包 接口开发规范: * 接口的方法名必须<em>和</em>映射文件的Statement的Id一致 * namespace的名称必须是接口的全类路径名 * 接口<em>和</em>映射文件必须同名...固定key 固定时间同步数据库 每隔4秒同步一次: 持久化缓存 在<em>classpath</em><em>定义</em>:Oscache.properties cache.memory=false//不能缓存内存 cache.persistence.class

    1.1K80

    Spring MVC各组件近距离接触--下下--05

    不过,对于我们来说,了解各个view实现类的实现原理, 有助于我们更好地理解整个框架是如何运作的, 并且, 如果现有的view不能够满足我们的需要, 我们也可以自定义一个需要的view实现类。...另外,Spring 2.5之后也引入了对Tiles 2(http://tiles.apache.org/)的支持,对应的TilesView实现位于org.springframework.web.servlet.... view.tiles2包下面,与org.springframework.web.servlet.view.tiles包下面的Tiles 1.x版本 的TilesViewTilesJstlView相区别...公开Velocity Tools(http://velocity.apache.org/tools/devel/)的DateToolNumberTool给模板使用。...使用Apache POI来构建Excel文档的View实现 类,支持读入Excel模板文件,子类需要实现buildExcelDocument模板方法,给出具体的模型数据到模板文件的合并逻辑。

    82330

    Spring-Boot:6分钟掌握SpringBoot开发

    构建项目 技术角度来看,我们要用Spring MVC来处理Web请求,用Thymeleaf来定义Web视图,用Spring Data JPA来把阅读列表持久化到数据库里,姑且先用嵌入式的H2数据库。...但这已经足以说明SpringBoot如何利用条件化配置实现自动配置。 自动配置会做出以下配置决策,它们之前的例子息息相关。...- 因为Classpath里有Thymeleaf,所以Thymeleaf会配置Spring MVC的视图,包括一个 Thymeleaf的模板解析器、模板引擎及视图解析器。...视图解析器会解析相对于Classpath根 目录的/templates目录里的模板。...要是你在配置Spring时希望或者需要有所不同,该怎么办?在第3章,我们将会看到如何覆盖Spring Boot自动配置,借此达成应用程序的一些目标,还有如何运用类似的技术来配置自己的应用程序组件。

    1.4K70

    Dubbo源码之Spring整合

    XML启动 Schema扩展机制 Spring提供了 Schema 扩展机制,用户可以自定义 Schema 文件,并自定义 Schema 解析器,然后集成到SpringIOC容器中。...BeanDefinitionParser; 自定义一个或多个解析器,实现 BeanDefinitionParser 接口,用于定义Bean的解析逻辑; 解析流程 有关于 Spring 对这部分内容的实现细节...会区分 默认的Namespace定义的Namesapce(除Spring的一些默认标签外,其它的都是自定义Namespace) 在解析定义Namespace的时候会调用 DefaultNamespaceHandlerResolver...,如果你想通过XML配置的方式来使用dubbo,那么当你配置好xml之后,随着 Spring 的启动,就会自动解析dubbo对应的那些标签了。...可以用外部化配置,也可以用注解的方式来配置,这里注解的方式配置为例: 依赖 dependencies { implementation 'org.springframework.boot:spring-boot-starter

    76910

    (五) SpringBoot起飞之路-Thymeleaf模板引擎整合及基本用法总结

    注:Thymeleaf Freemarker 等各有特点,用熟悉后,可能会对另一种的使用方式感觉很别扭,没必要争论哪种更好,自己喜欢就行 (2) 为什么用模板引擎 Springboot 来说,...Spring MVC supports a variety of templating technologies, including Thymeleaf, FreeMarker, and JSPs....JSPs are not supported when using an executable jar. Undertow does not support JSPs....上面做完了,如果不配置的话,这些页面根本是找不到的,所以需要配置 JSP 映射路径后缀 spring.mvc.view.prefix=/WEB-INF/pages/ spring.mvc.view.suffix...student.course.teacher}"> 4、执行效果 B:补充 th:utext 还有一个 th:utext ,与上面用的 th:text 很相似区别就是: th:text 纯文本显示且不解析内容里的

    1.9K30
    领券