Spring MVC 3模板和Apache Tiles

对于任何Web应用程序而言,有效的设计考虑因素是使用模板引擎(或工具),并且由于具有Spring的“可插拔”特性,因此集成模板机制(例如Apache Tiles)的确要容易得多。

在这篇简单的文章中,我将向您简要介绍如何将Tiles用作Web应用程序的模板引擎!

  1. 准备就绪:Web应用程序设置
  2. 设置Maven并导入Spring-MVC库和Apache Tiles
  3. 配置文件
  4. 瓷砖
  5. 用它!

第一个:Web布局和应用程序设置:准备好Web应用程序框架。 在这个例子中,我使用了Spring 3 MVC,其中所有最小的组件都易于注入。 在这里下载。 该项目已准备就绪,因此您可以将其导入并加载到STS(Spring Tool Suite)工作区中。

第二个:设置Maven并生成源 -STS已经具有Maven插件支持。 右键单击>项目>配置>转换为Maven项目,将Maven性质放在项目的第一位。

第三件:POM配置 –在pom.xml上加载图块。 –您需要包括以下依赖项才能将Apache Tiles库添加到项目中。

<!-- For Tiles -->
<dependency>
<groupId>org.apache.tiles</groupId>
<artifactId>tiles-core</artifactId>
<version>2.2.2</version>
<type>jar</type>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>org.apache.tiles</groupId>
<artifactId>tiles-template</artifactId>
<version>2.2.2</version>
<type>jar</type>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>org.apache.tiles</groupId>
<artifactId>tiles-jsp</artifactId>
<version>2.2.2</version>
<type>jar</type>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>org.apache.tiles</groupId>
<artifactId>tiles-servlet</artifactId>
<version>2.2.2</version>
<type>jar</type>
<scope>compile</scope>
</dependency>

第四项:Class加载的bean的XML配置 –确保设置tile xml并直接或从另一个xml bean配置文件中调用它。

第五:模板 –创建模板。

tiles-definition:–使用模板(mainTemplate.jsp)定义页面

mainTemplate.jsp –是页面布局–放置定义属性。

registerUser是将被调用的页面,body-position属性由我们定义的主体替换:jsp / userregistration.jsp

第六:配置数据库。 转到META-INF文件夹中的data-access-config.xml。

SQL脚本:

delimiter $$CREATE DATABASE `MDCDB` /*!40100 DEFAULT CHARACTER SET latin1 */$$
delimiter $$
CREATE TABLE `MDC_USERS` (
`ID` int(11) unsigned zerofill NOT NULL AUTO_INCREMENT,
`NAME` varchar(45) DEFAULT NULL,
PRIMARY KEY (`ID`)
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=latin1$$

运行应用程序!

随着应用程序开发工具的质量和数量的增加,使用模板并不是什么新鲜事。 现在严格必须创建这些界面,因为这将真正帮助开发团队更快更好地创建高质量的UI。 它还允许开发人员和设计人员并行工作。 使用主题API的设计人员(例如JQuery)和开发人员使用EJB创建应用程序的主干和逻辑,使“易于开发”的定义更加明显。

在此处下载我的示例并在您的STS(Spring工具套件)中将其打开。 确保已安装了Hibernate和Maven插件。

参考: Alvin“ Jay” Reyes博客博客中的JCG合作伙伴 Alvin Reyes 使用Apache Tiles的带有模板的Spring MVC 3 。


翻译自: https://www.javacodegeeks.com/2012/09/spring-mvc-3-template-and-apache-tiles.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/371559.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

hihocoder1543 SCI表示法

题意&#xff1a;任何一个数可以表示为连续整数相加&#xff0c;问这些连续整数的最大长度 题解&#xff1a;假设左右是l,r,那么(lr)*(l-r1)/2就是这段序列的和&#xff0c;枚举2n的所有因子&#xff0c;找到最大的就可以了 我的做法是预处理前缀和&#xff0c;二分找到答案位置…

linux自动安装Java环境脚本,Linux 自动添加JAVA环境脚本

Linux 自动添加JAVA环境脚本1. 删除原有的JAVA环境变量配置### --------------delete old config -------------------- ###sed -i -e /JAVA_HOME/d -e /JRE/d /etc/profile删除包含JAVA_HME 、JRE的行2. 加入现有的JAVA环境变量配置### -------------- add new config ----…

辗转相除法的证明

辗转相除法的证明设两数为a、b(b&#xff1c;a)&#xff0c;求它们最大公约数的步骤如下&#xff1a;用b除a&#xff0c;得a&#xff1d;bq&#xff0b;r&#xff08;0≤r&#xff1c;b&#xff09;&#xff08;q是这个除法的商&#xff09;。若r0,则b是a和b的最大公约数。若r≠…

linux查看有几个终端命令,如何知道你在 Linux 里最常使用的几个命令?

不知道大家自接触 Linux 以来&#xff0c;都使用过哪些命令&#xff0c;其中最常用的命令是什么&#xff1f;我最常用的命令之一是 sudo &#xff0c;因为我每天都在使用它在 Linux 上安装、更新、删除软件包以及其它各种需要超级用户权限的操作。那么你知道你自己最经常使用的…

使用JUnit的ExpectedException和@Rule测试自定义异常

异常测试 为什么要测试异常流&#xff1f; 就像所有代码一样&#xff0c;测试覆盖率会在代码和应该生成的业务功能之间写一个合同&#xff0c;从而为您提供代码的有效文档 &#xff0c;以及增加的尽早且经常强调功能的功能。 我不会介绍测试的许多好处&#xff0c;而是只关注异…

线程的工具类(Exchange)

public class Exchanger<V>extends Object 可以在对中对元素进行配对和交换的线程的同步点。每个线程将条目上的某个方法呈现给 exchange 方法&#xff0c;与伙伴线程进行匹配&#xff0c;并且在返回时接收其伙伴的对象。Exchanger 可能被视为 SynchronousQueue 的双向形…

js 判断浏览器是否64位

js判断是否64位 浏览器 navigator.userAgent.match(/x64/i); 转载于:https://www.cnblogs.com/fanlinglong/p/7298733.html

linux ss 软件,linux ss 网络状态工具

ss是Socket Statistics的缩写查看网络状态&#xff0c;经常用的命令&#xff1a; watch ss -lntss命令用于显示socket状态. 他可以显示PACKET sockets, TCP sockets, UDP sockets, DCCP sockets, RAW sockets, Unix domain sockets等等统计. 它比其他工具展示等多tcp和state信…

Lambda项目:迈向多核及超越

周一下午在JavaOne 2011的希尔顿旧金山大宴会厅B上做了“ Project Lambda&#xff1a;迈向多核和超越”&#xff08;会议27400&#xff0c;不要与Brian Goetz的同名演讲相混淆&#xff09; 的演示 。大宴会厅关闭&#xff0c;这是一个非常大型的非主题演讲场地&#xff0c;并且…

Python 06-字典

字典是一种key-value的数据类型&#xff0c;就像日常用的字典&#xff0c;通过字母或者笔画来查找对应页的详细内容。 字典是无序的&#xff0c;没有顺序。因为有key。 info {stu1001:wang er,stu1002:zhang san,stu1003:li si } print(info)#打印字典所有kv print(info[stu10…

hashMap 源码解读理解实现原理和hash冲突

hashMap 怎么说呢。 我的理解是 外表是一个set 数组&#xff0c;无序不重复 。 每个set元素是一个bean &#xff0c;存着一对key value 看看代码吧 package test;import java.util.HashMap; import java.util.Map.Entry;public class HashMaptest {public static void main(Str…

浙江大学linux网络通信,浙江大学钟财军副教授——“Wireless Powered Communication Networks”...

2016年5月17日&#xff0c;浙江大学钟财军副教授应徐正元教授邀请在中科大西区科技实验楼东楼十层1011会议室做了一场题为“Wireless Powered Communication Networks”的学术报告。报告会由龚晨教授主持&#xff0c;共50余名师生参加。此次报告会得到了“中科院无线光电通信重…

自定义Spring Data JPA存储库

Spring Data是一个非常方便的库。 但是&#xff0c;由于该项目是一个相当新的项目&#xff0c;因此功能不佳。 默认情况下&#xff0c;Spring Data JPA将基于SimpleJpaRepository提供DAO的实现。 在最近的项目中&#xff0c;我开发了一个定制的存储库基类&#xff0c;以便可以在…

[基础]PeopleSoft中的作业和调度作业集合定义

PeopleSoft进程调度器可以使一个或多个进程作为一个组。这个组在PeopleSoft中被称为作业(Job)。 PeopleSoft进程被定义为单个任务&#xff0c;程序或例程&#xff0c;例如cobol程序或AE程序或客户端运行的SQR。 作业由一个或多个相同或不同类型的进程组成&#xff0c;他们作为一…

体验 WebFont,网页上的艺术字

在最新项目中&#xff0c;由于要频繁使用艺术字&#xff0c;而用户设备没有此字体&#xff0c;因此以往的经验都是使用图片...所以在同事的瞩目期许之下&#xff0c;我开始实验研究这个问题的解决方案1. 直接使用字体文件font-face {font-family: xxxx;src: url(../img/汉仪秀英…

linux文件分别打包命令,Linux文件打包命令

15.1 gzipgzip(1)是GNU的压缩程序。它只对单个文件进行压缩。基本用法如下&#xff1a;$ gzip filename程序执行以后&#xff0c;文件名会变成filename.gz&#xff0c;而且一般情况下大小会比原文件要小。注意&#xff0c;程序并不新建一个新的文件filename.gz,而是将filename变…

Play 2.0框架和XA交易

XA事务非常有用&#xff0c;而且开箱即用&#xff0c;今天的Play 2.0不支持它们。 在这里&#xff0c;我展示了如何添加该支持&#xff1a; 首先&#xff0c;介绍一些XA有用的示例&#xff1a; –如果您使用来自两个不同persistence.xml的实体&#xff0c;则JPA使用两个物理连…

java代码注释规范

java代码注释规范 一、规范存在的意义 应用编码规范对于软件本身和软件开发人员而言尤为重要&#xff0c;有以下几个原因&#xff1a;1、好的编码规范可以尽可能的减少一个软件的维护成本 , 并且几乎没有任何一个软件&#xff0c;在其整个生命周期中&#xff0c;均由最初的开…

win10 hyper-v 虚拟机ping不通宿主机问题

在Windows10 Hyper-V 中安装 Linux (Centos6.9)虚拟机无法 ping 通宿主机 这种情况下关闭 Windows 防火墙就能ping通了&#xff0c;当然关闭防火墙不安全。所以需要 做以下步骤: 控制面板-》系统和安全-》Windows防火墙-》高级设置-》入站规则 启用下图被红框选中的两个选…

linux方法参数,Linux的sysctl 命令 参数

Linux内核通过/proc虚拟文件系统向用户导出内核信息&#xff0c;用户也可以通过/proc文件系统或通过sysctl命令动态配置内核。比如&#xff0c;如果我们想启动NAT&#xff0c;除了加载模块、配置防火墙外&#xff0c;还需要启动内核转发功能。我们有三种方法&#xff1a;1. 直接…