- 浏览: 554490 次
- 性别:
- 来自: 武汉
文章分类
最新评论
-
bo_hai:
快速排序:https://bo-hai.iteye.com/b ...
插入排序、选择排序、冒泡排序 简单实例 -
bo_hai:
参考:https://bo-hai.iteye.com/blo ...
插入排序、选择排序、冒泡排序 简单实例 -
bo_hai:
JDK1.8后,解决问题的办法就简单啦:List<Int ...
List 中去除 null 方法讨论 -
bo_hai:
上述两种办法都不是最好的单例模式。
安全发布单例模式 -
bo_hai:
我来评论一下。
MySql 删除重复数据的方法
前言:
1)在实际的工程中,可能存在FTL要引入相同的js或css的代码,每个页面手动copy引入js或css的代码很是麻烦。现在为大家介绍在FTl中定义模板的方法。所谓模板是指:可以指定所有的FTL页面自动加载某些代码工具。
2)在引入模板前,先要引入模板用到jar。jar的名称分别是:sitemesh-2.2.1.jar 和 struts2-sitemesh-plugin-2.0.11.2.jar。在实际的项目中,可以根据struts2的版本,现在对应jar的版本。
3)修改web.xml文件,加入以下内容:
<filter> <filter-name>sitemesh</filter-name> <filter-class>org.apache.struts2.sitemesh.FreeMarkerPageFilter</filter-class> </filter> <filter-mapping> <filter-name>sitemesh</filter-name> <url-pattern>*.action</url-pattern> <dispatcher>REQUEST</dispatcher> <dispatcher>FORWARD</dispatcher> </filter-mapping>
注:filter-mapping的配置应和struts2对应的filter-mapping的配置相同;
4)在 WEB-INF目录下面创建文件:sitemesh.xml。内容如下:
<sitemesh> <property name="decorators-file" value="/WEB-INF/decorators.xml" /> <excludes file="${decorators-file}" /> <page-parsers> <parser content-type="text/html" class="com.opensymphony.module.sitemesh.parser.FastPageParser" /> </page-parsers> <decorator-mappers> <mapper class="com.opensymphony.module.sitemesh.mapper.PageDecoratorMapper"> <param name="property.1" value="meta.decorator" /> <param name="property.2" value="decorator" /> </mapper> <mapper class="com.opensymphony.module.sitemesh.mapper.FrameSetDecoratorMapper"> </mapper> <mapper class="com.opensymphony.module.sitemesh.mapper.AgentDecoratorMapper"> <param name="match.MSIE" value="ie" /> <param name="match.Mozilla [" value="ns" /> <param name="match.Opera" value="opera" /> <param name="match.Lynx" value="lynx" /> </mapper> <mapper class="com.opensymphony.module.sitemesh.mapper.PrintableDecoratorMapper"> <param name="decorator" value="printable" /> <param name="parameter.name" value="printable" /> <param name="parameter.value" value="true" /> </mapper> <mapper class="com.opensymphony.module.sitemesh.mapper.RobotDecoratorMapper"> <param name="decorator" value="robot" /> </mapper> <mapper class="com.opensymphony.module.sitemesh.mapper.ParameterDecoratorMapper"> <param name="decorator.parameter" value="decorator" /> <param name="parameter.name" value="confirm" /> <param name="parameter.value" value="true" /> </mapper> <mapper class="com.opensymphony.module.sitemesh.mapper.FileDecoratorMapper"> </mapper> <mapper class="org.apache.struts2.sitemesh.NoneDecoratorMapper"> </mapper> <mapper class="com.opensymphony.module.sitemesh.mapper.ConfigDecoratorMapper"> <param name="config" value="${decorators-file}" /> </mapper> </decorator-mappers> </sitemesh>
5)在 WEB-INF目录下面创建文件:decorators.xml。内容如下:
<?xml version="1.0" encoding="utf-8"?> <decorators defaultdir="/WEB-INF/decorators"> <!-- Any urls that are excluded will never be decorated by Sitemesh --> <excludes> <pattern>/js/*</pattern> <pattern>/css/*</pattern> <pattern>/images/*</pattern> </excludes> <decorator name="main" page="/module/common/decorator/main.dec"> <pattern>/*</pattern> </decorator> </decorators>
注:page="/module/common/decorator/main.dec" 这个的值。其意是:在WEB-INF目录有 "/module/common/decorator 目录,并在其目录下有main.dec的文件。
6)main.dec 文件的内容是:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3c.org/TR/1999/REC-html401-19991224/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>FTL模板示例 - ${title}</title> <style type="text/css"> <!-- body { margin-left: 5px; margin-right: 5px; } --> </style> <script type="text/javascript" src="${base}/js/lib/jquery/jquery-1.4.2.js"></script> <script type="text/javascript" src="${base}/js/lib/jquery/jquery.validate.js"></script> <script type="text/javascript" src="${base}/js/lib/jquery/jquery.form.js"></script> ${head} </head> <body> <link rel="shortcut icon" href="http://localhost/qq.ico"/> ${body} </body> </html>
注:main.dec 是模板定义文件,模板中定义要自动加载的js和css代码。在这里,我定义人的每个ftl页面自动加载jquery的js文件。文件中还有三个自定义参数。这是将目标页面的对应内容加载到模板中显示。
7)自定义一个view.ftl页面,内容如下:
<html> <head> <title>自动跳转到ftl页面</title> </head> <body> 这是ftl页面呀~~ </body> </html>
8)能通action跳转到view.ftl页面,解析后的html如下:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3c.org/TR/1999/REC-html401-19991224/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>FTL模板示例 - 自动跳转到ftl页面</title> <style type="text/css"> <!-- body { margin-left: 5px; margin-right: 5px; } --> </style> <script type="text/javascript" src="/js/lib/jquery/jquery-1.4.2.js"></script> <script type="text/javascript" src="/js/lib/jquery/jquery.validate.js"></script> <script type="text/javascript" src="/js/lib/jquery/jquery.form.js"></script> </head> <body> <link rel="shortcut icon" href="http://localhost/qq.ico"/> 这是ftl页面呀~~ </body> </html>
9)目标页面在加载解析时,自动加载了模板中定义的js文件。止此配置成功。
发表评论
-
nginx 配置 CORS 支持跨域访问
2014-11-11 20:26 11539CSS代码设置了一些字体,如果跨域访问这些字体,就会加载失败 ... -
lockInterruptibly 和lock的区别
2014-09-03 11:04 3213这是个被无数人写过并还会被其他人继续写下去的blog。 代 ... -
Spring MVC 的单元测试实例
2014-08-15 16:48 833一、先定义实例: public class BaseTes ... -
HTTPClient 简单使用
2014-08-15 13:47 1064HttpClient 的用模拟http请求的工具,一般用在 ... -
tomcat 配置虚拟主机实例
2014-07-29 14:20 1438一、先来解释一下虚拟主机的概念:在一个tomcat上放多个工 ... -
Eclipse3.6 安装EGit
2014-07-08 21:56 537Eclipse3.6 安装EGit地址是 http://do ... -
ThreadPoolExecutor 中饱和策略分析
2014-07-03 15:25 2195import java.util.concurrent.Ti ... -
FutureTask 实例
2014-06-29 10:56 605先来总结一下FutureTask使用场景: 如果不想分支线 ... -
ReadWriteLock 使用实例
2014-06-28 20:21 819首先来讨论ReadWriteLock 类的使用场景,记住一句 ... -
安全发布单例模式
2014-06-27 17:24 6191、最简单的方法: public class Singl ... -
JAVA notifyAll wait 实例
2014-06-27 13:55 481两个线程,分别有两数据结构:1到10的数据和A到E的字符。 ... -
获取机器CPU数量的方法
2014-06-22 15:58 534public class CPUNum { /** ... -
动态代理的实现
2014-06-17 21:26 450public interface IHelloWorld ... -
线程同步优化实例
2014-06-11 17:56 498代码如下: package com.bohai.thre ... -
JavaScript 遍历JSON 获取key value
2014-04-30 16:20 559if (!$.isEmptyObject(subProdIn ... -
计算器算法(支持加减乘除括号)
2014-04-19 17:53 5554import java.util.ArrayList; i ... -
实用工具类 && CollectionUtils
2014-04-19 13:53 7819import java.util.ArrayList; ... -
解决fatal: unable to connect to github.com问题
2014-04-08 16:43 2165问题: 在使用Aptana Studio3 ... -
JAVA多线程 Semaphore 应用
2014-01-24 16:04 483import java.util.concurrent.Ex ... -
JAVA多线程 Exchanger 应用
2014-01-24 15:42 617import java.util.concurrent.Ex ...
相关推荐
1、自定义模板 代码:https://blog.csdn.net/xionglangs/article/details/106396515
支持生成DAO,PO,和sql语句的xml文件。
找了很久的东西,mybatis+freemake自定义生成代码器,原来的代码生成器只能生成mapper,service,model感觉没多大用,自定义模板真的节约的好多时间
MyBatisPlus自带了一个代码生成器mybatis-plus-generator,可基于数据库库表,结合模板技术,自动生成程序源码,不过默认情况下,只支持Entity...需要自定义类,继承于官方,重写outputCustomFile方法,实现上述目的。
Spring Boot项目 自动生成数据表模板,包括:Mapper、Mapper.xml、Service、Controller、html 自定义模板生成
假设mylib.ftl 里定义了宏copyright 那么我们在其他模板页面里可以这样使用 Freemarker代码 <#import "/libs/mylib.ftl" as my> <@my.copyright date="1999-2002"/> 在freemarker里被称作namespace -->...
每个模板有gg变量可以控制自身的自定义配置 (每一个模板都会创建新的gg实例) 如是否生成,是否覆盖目标文件,甚至是生成其它文件 ${gg.setIgnoreOutput(true)}: 如果为true则不生成输出文件 ${gg.generateFile...
本源码为基于Java的低代码生成器Maku-Generator设计,共包含198个文件,...该项目是一款低代码生成器,可根据自定义模板内容快速生成代码,实现项目的快速开发和上线,减少重复代码编写,开发人员只需专注于业务逻辑。
使用FTL(freeMarker模板语言)编写 组成部分 一、整体结构 1、注释:注释内容-->,不会输出。 2、文本:直接输出。 3、interpolation:由 ${var} 或 #{var} 限定,由计算值代替输出。 4、FTL标记 二....
每个模板有gg变量可以控制自身的自定义配置 (每一个模板都会创建新的gg实例) 如是否生成,是否覆盖目标文件,甚至是生成其它文件 ${gg.setIgnoreOutput(true)}: 如果为true则不生成输出文件 ${gg.generateFile...
4、新增自定义模板:dbMarkdown[md].ftl和ApiMarkdown[md].ftl,用于生成MD格式的数据库文档和API文档 5、新增33款FlatLaf皮肤主题,JDK8、JDK11、JDK17、JDK18测试通过 6、新增表后缀参数配置,生成驼峰命名时将不...
如果想在一个模板中插入另一个模板,可以使用<#包含/> 比如插入模板 a.ftl : <#a.ftl/> <@功能/> 除了输出变量、包含模板外,也可以加入更多自定义的功能,比如:枚举、赋值 但额外的功能需要自定义。 自定...
举例: 如你有一个模板 SqlMap.xml.ftl 将变为 SqlMap.xml 所以你要生成ftl扩展名的文件,应该将文件名从 list.ftl => list.ftl.ftl 5.模板自动include同级目录:macro.include文件 示例: 如你的模板为 java_src/...
Freemarker动态生成word,包含文字替换,freemarker嵌入自定义java函数,动态生成表格列,插入图片的示例,同时使用spire将wordxml格式转换成word文档(doc格式),还包含文件下载示例
#MyBatis-Plus-Generator ...4. TemplateEnum:模板枚举类,可根据需要选择velocity(*.vm)或者freemarker(*.ftl)模板进行生成 注:大部分配置都已进行注释说明,若需更多自定义配置,请参考官方文档或者源代码。
Framemarker框架导出world文档代码,使用springboot框架搭建项目环境,添加framemarker的maven引用,编写 **.ftl模板文档,执行自定义main函数,实现数据库设计文档导出world功能。
使用方法参考 src/test/java/com/teclan/office/word/WordFactory.workProveTest() 常见问题 输出带表格的word以上转换可能存在异常,详情请参考 或documnets/freemarker导出带表格Word文档异常处理.xps 针对以上...
自定义条款和条件 这是一个keycloak插件,它实现了keycloak必需的操作SPI。 此插件使您可以执行第二个条款和条件(ToS)必需的操作。 有时,同一领域中的用户类型不同,因此需要提供不同的ToS。 用法 为了使用此插件...
Struts 2.0提供一个Sitemesh插件,允许在Sitemesh模板中使用Struts标记。 要使用Sitemesh需要包含Freemark,Sitemesh和Sitemesh插件库文件。 配置过滤器 如果需要使用Freemark模板文件作为装饰器文件,需要在web....
该属性还允许使用ftl、vm或jsp,分别对应FreeMarker、Velocity和JSP模板. struts.configuration.xml.reload 该属性设置当struts.xml文件改变后,系统是否自动重新加载该文件.该属性的默认值是false. struts.velocity....