- 浏览: 100654 次
- 性别:
- 来自: 广州
文章分类
最新评论
sample1.jtpl
<!-- BEGIN: main --> <html> <head> <title>{TITLE}</title> </head> <body> {MESSAGE} </body> </html> <!-- END: main -->
sample1.java
import net.sf.jtpl.Template; import java.io.File; import javax.servlet.http.*; import javax.servlet.*; public class sample1 extends HttpServlet implements SingleThreadModel { Template tpl; protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { PrintWriter out = response.getWriter(); try { out.print(this.generatePage()); } catch (Exception e) { e.printStackTrace(out); } } private String generatePage() throws Exception { tpl = new Template(new File("C:\\java\\eclipse\\workspace\\jtpl\\sample1.jtpl")); tpl.assign("TITLE", "Sample 1"); tpl.assign("MESSAGE", "Hello World"); tpl.parse("main"); return (tpl.out()); } }
Sample servlet #2
This exemple will print this output
sample2.jtpl
<!-- BEGIN: main --> <html> <head> <title>{TITLE}</title> </head> <body> <table> <!-- BEGIN: line --> <tr> <!-- BEGIN: row --> <td bgcolor="{BGCOLOR}">{VARIABLE}</td> <!-- END: row --> </tr> <!-- END: line --> </table> </body> </html> <!-- END: main -->
sample2.java
import net.sf.jtpl.Template; import java.io.File; import javax.servlet.http.*; import javax.servlet.*; public class sample2 extends HttpServlet implements SingleThreadModel { Template tpl; protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { PrintWriter out = response.getWriter(); try { out.print(this.generatePage()); } catch (Exception e) { e.printStackTrace(out); } } private String generatePage() throws Exception { tpl = new Template(new File("C:\\java\\eclipse\\workspace\\jtpl\\sample2.jtpl")); tpl.assign("TITLE", "Sample 2"); int line = 10, col = 5, altern = 2, count = 0; for (int i = 1; i <= line; i++) { for (int j = 1; j <= col; j++) { if (count % altern == 0) { tpl.assign("BGCOLOR", "#75D2FF"); } else { tpl.assign("BGCOLOR", "#CCEEFF"); } tpl.assign("VARIABLE", "line:" + i + " row:" + j); tpl.parse("main.line.row"); count++; } tpl.parse("main.line"); } tpl.parse("main"); return (tpl.out()); } }
来自:http://jtpl.sourceforge.net PS:就要这么简单,前台人员可以不用学就会用!
发表评论
-
【转】导出网页中的table到excel 使用Java方式
2011-08-04 12:02 1705response.setContentType(&qu ... -
【转】oracle 行转列
2011-05-12 14:50 951数据库查询中难免会遇到行列转换的情况,摘列一些较精典的 ... -
【转】select元素javascript常用操作
2011-05-03 16:15 690/*-------------------------- ... -
【转】使用Spring的NamedParameterJdbcTemplate完成DAO操作
2011-04-22 15:33 1127NamedParameterJdbcTemplate内 ... -
【转】使用Spring的SimpleJdbcTemplate完成DAO操作
2011-04-22 15:31 1010SimpleJdbcTemplate内部包含了一个Na ... -
【转】Servlet实现文件下载的源码
2011-04-18 11:37 619一、如何使用如果此Servlet命名为download ... -
【转】Oracle:Merge Into 语句代替Insert/Update在Oracle中的应用实战
2011-04-13 14:30 2075动机: 想在Oracle中 ... -
【转】直接把EXCEL粘贴到网页上
2011-04-06 08:33 1250<html> <meta http- ... -
【转】word 任意页开始插入页码
2011-03-31 15:45 1097一、如果你想从第二页开始插入页码的话: 1、将鼠标定位 ... -
【转】JS特效代码大全(七)超全的JS树形菜单共享
2011-03-25 08:59 1268JS特效代码大全(七)超全的JS树形菜单共享 标 ... -
【转】JavaScript获取select的值全解
2011-03-24 15:53 848获取显示的汉字 document.getElemen ... -
【转】常用的JavaScript验证正则表达式
2011-03-07 13:22 774下面都是我收集的一些比较常用的正则表达式,因为平常可能在 ... -
【转】flex的问题解决
2011-02-27 03:05 1309出自:http://www.iteye.com/problem ... -
【转】软考、职称、职称资格及三者之间的关系
2010-08-02 09:19 1508目前,人事部 ... -
【转】如何学Flex
2010-07-31 18:54 889如何学Flex 近由于 ... -
【转】javamail发送邮件的简单实例
2010-07-29 11:19 1170今天学习了一下JavaMail,javamail发送 ... -
【转】hibernate的Criteria Query
2010-07-29 10:03 1165当查询数据时,人们往往需要设置查询条件。在SQL或HQ ...
相关推荐
Jtpl 是一个非常简单的 Java 模板引擎
gulp-js-模板 将模板文件添加到javascript对象。 安装 npm install gulp-js-templates 基本用法 var jtpl = require ( 'gulp-js-templates' ) ; gulp . task ( 'templates' , function ( ) { return gulp . src ( '...
基于Springboot的实验报告系统源码数据库文档.zip
GEE训练教程——Landsat5、8和Sentinel-2、DEM和各2哦想指数下载
基于springboot智能健康饮食系统源码数据库文档.zip
基于SpringBoot的校园服务系统源码数据库文档.zip
内容概要: IXIA测试仪的基本配置.doc ixia测试仪基础使用示例.doc IxNetwork如何进行抓包回放-V1.0.pdf IxNetwork如何自定义报文-V2.0.pdf ixia构造ip分片方法.txt IxNetwork使用简介.pdf 适用人群:网络协议造包、打流相关的测试工程技术人员,想要学习的同学可以下载哈 使用场景:构造pcap包,打流 Ixia简介 IXIA使用的是Server-client模式,Server端在测试仪表的主机上,在开机后会随着主机内的操作系统的启动而自动启动,一般情况下不需要人为的手工启动。因此在通常不需要为主机配置专用的显示器和键盘。 client端包括两个测试软件: Ixia Explorer和ScriptMate。这两个软件一般安装在测试用计算机上,在仪表自带的主机中也有这两个软件。根据测试项目的不同来选择使用不同的软件。Ixia Explorer主要提供数据流的测试,针对设备的功能进行测试; ScriptMate提供各种性能测试窗口,针对设备的性能进行测试。 Auto:自动分配;
基于Python+Django花卉商城系统源码数据库文档.zip
Umi-OCR-main.zip
基于微信小程序开发的促销抽奖小工具源码,适用于初学者了解小程序开发过程以及简单抽奖工具的实现。
GEE训练教程——Landsat5、8和Sentinel-2、DEM和各2哦想指数下载
以下是一个关于Spring Boot设计的资源描述及项目源码的简要概述: Spring Boot设计资源描述 Spring Boot是一个为基于Spring的应用提供快速开发工具的框架,其设计旨在简化Spring应用的初始搭建和开发过程。以下是一些关键资源: Spring Boot官方文档:详细阐述了Spring Boot的核心特性、自动配置原理、起步依赖、内嵌式服务器等关键概念。这是学习和掌握Spring Boot设计的首选资源。 在线教程与视频:各大在线教育平台提供了丰富的Spring Boot教程和视频课程,从基础入门到高级应用,帮助开发者全面了解和掌握Spring Boot设计。 书籍与电子资料:许多技术书籍和在线电子资料深入讲解了Spring Boot的设计原理、最佳实践和项目案例,为开发者提供了宝贵的学习资源。 项目源码示例 以下是一个简单的Spring Boot项目源码示例,用于演示Spring Boot的基本结构和自动配置功能: java // 引入Spring Boot依赖 @SpringBootApplication public class MySpri
基于springboot美妆领域管理系统源码数据库文档.zip
tables-3.7.0+gpl-cp37-cp37m-win_amd64.whl
算法是计算机科学的核心,它们在解决各种问题时发挥着关键作用。一个好的算法不仅可以提高程序的效率,还可以简化复杂的问题。下面我将通过一个具体的例子——快速排序算法(Quick Sort)——来展示算法的实现过程,包括资源描述和项目源码。 ### 快速排序算法简介 快速排序是一种高效的排序算法,采用分治法的思想。其基本步骤如下: 1. 从数列中挑出一个元素,称为“基准”(pivot)。 2. 重新排序数列,所有比基准值小的元素放到基准前面,所有比基准值大的元素放到基准后面(相同的数可以到任一边)。在这个分割结束之后,该基准就处于数列的中间位置。这个称为分割(partition)操作。 3. 递归地(recursive)把小于基准值的子数列和大于基准值的子数列排序。 ### 资源描述 快速排序算法因其高效性和简洁性,在实际应用中非常受欢迎。它的时间复杂度平均为 O(n log n),最坏情况下为 O(n^2),但这种情况很少发生。快速排序的空间复杂度为 O(log n),因为它使用了递归来实现。 快速排序的一个典型应用场景是在数据库系统中对大量数据进行排序。由于它的高效性,快速排序
基于springboot农场投入品运营线上管理系统源码数据库文档.zip
基于springboot个性化影院推荐系统源码数据库文档.zip
linux基础进阶笔记,配套视频:https://www.bilibili.com/list/474327672?sid=4493093&spm_id_from=333.999.0.0&desc=1
小程序 微信自动抢红包动态库.zip程序资源学习资料参考
小程序 iOS版微信抢红包插件(支持后台抢红包).zip