JET Howto

原创 2005年05月04日 00:21:00

<!--[if !supportLists]-->1.   <!--[endif]-->JET

<!--[if !supportLists]-->a)        <!--[endif]-->说明:JET是一个开源的代码生成引擎,她使用一种类似JSP的语法来书写模板,模板文件会被JET引擎转换为模板实现类,用户使用模板实现类,来生成所需的目标代码。

<!--[if !supportLists]-->b)        <!--[endif]-->流程:

JET模板

模板实现类

应用程序

所需代码

<!--[if !vml]--><!--[endif]-->

 

<!--[if !supportLists]-->2.   <!--[endif]-->JET语法:

<!--[if !supportLists]-->a)        <!--[endif]-->声明JET模板:

<!--[if !supportLists]-->                      i.              <!--[endif]-->.txtjet文件:

<%@jet package="org.nick.jet" class="HelloWorld" %>

Hello World

<!--[if !supportLists]-->                   ii.              <!--[endif]-->模板实现类:

package org.nick.jet;

public class HelloWorld{

protected final String NL = System.getProperties().

getProperty("line.separator");

protected final String TEXT_1 = "Hello World";

protected final String TEXT_2 = NL;

public String generate(Object argument){

StringBuffer stringBuffer = new StringBuffer();

stringBuffer.append(TEXT_1);

stringBuffer.append(TEXT_2);

return stringBuffer.toString();

}

}

<!--[if !supportLists]-->                iii.              <!--[endif]-->应用程序:

public class HelloWorldTest {

     public static void main(String[] args) {

         HelloWorld template = new HelloWorld();

         System.out.println(template.generate(null));

     }

}

<!--[if !supportLists]-->                   iv.              <!--[endif]-->输出结果:

Hello World

<!--[if !supportLists]-->                      v.              <!--[endif]-->说明:JET模板文件必须声明后缀为.txtjet的文件。JET模板文件的开始必须声明<%@jet%>标签。上述演示了一个JET的简单使用。首先我们需要书写JET模板,该模板随后将会自动的被转换为模板实现类,然后在应用程序当中,我们只需实例化该实现类,并调用generate()方法即可。

<!--[if !supportLists]-->b)        <!--[endif]-->输入参数:

<!--[if !supportLists]-->                      i.              <!--[endif]-->.txtjet文件:

<%@jet package="org.nick.jet" class="HelloWorld" %>

Hello World,<%=argument%>!

<!--[if !supportLists]-->                   ii.              <!--[endif]-->应用程序:

public class HelloWorldTest {

     public static void main(String[] args) {

         HelloWorld template = new HelloWorld();

         System.out.println(template.generate("nick"));

     }

}

<!--[if !supportLists]-->                iii.              <!--[endif]-->输出:

Hello World,nick!

<!--[if !supportLists]-->                   iv.              <!--[endif]-->说明:我们可以通过模板实现类的generate()方法来向模板传入参数,而在模板文件当中,该参数可以通过argument变量来引用。虽然generate()的参数只是Object,但由于Java当中所有都是对象,包括数组,所以,但我们需要传入多个参数时,可以把他们作为一个Object[]数组传入,然后在模板中再强制转换回来。

 

<!--[if !supportLists]-->c)        <!--[endif]-->模板文件中的全局变量:

<!--[if !supportLists]-->                      i.              <!--[endif]-->说明:JET的模板文件定义了两个全局变量,argumentstringBuffer,因此,我们可以像上文那样,在模板文件当中,对他们进行直接的操作。

 

<!--[if !supportLists]-->d)        <!--[endif]-->模板包含:

<!--[if !supportLists]-->                      i.              <!--[endif]-->说明:通过<%@include file=""%>标签,我们可以在模板文件中引入其他文件,如果被引入文件内部含有JET指令,则该指令也将被解释。

 

<!--[if !supportLists]-->e)        <!--[endif]--><%@jet%>中的其他属性:

<!--[if !supportLists]-->                      i.              <!--[endif]-->说明:在<%@jet%>标签当中,除了上文所演示的packageclass属性以外,还有以下几个可选属性。imports,用于导入模板文件中需要用到的类;startTagendTag,由于JET模板文件默认使用“<%”和“%>”作为JET指令的开始和结束标记,而当我们需要用JET来生成类似JSP那样的文件时,这将导致一些问题,为此,JET提供了startTagendTag属性,用于修改JET指令的默认开始和结束标记;skeleton,在JET模板转换为实现类的过程中,系统都是使用一个默认的成为skeleton的文件来对模板进行翻译,而有的时候,我们可能希望对这个skeleton进行一些定制和重新指定,这就可以通过skeleton属性来完成。

 

excel导入导出至SQL Server中(Microsoft.Jet.OLEDB.4.0和Microsoft.ACE.OLEDB.12.0)

参考文章:http://blog.csdn.net/kk185800961/article/details/9186335       http://blog.csdn.net/Limpire/...
  • jxz_007
  • jxz_007
  • 2015年08月20日 09:34
  • 1894

为 microsoft jet 4.0 database engine 安装最新补丁集(zz)

How to obtain thelatest service pack for the Microsoft Jet 4.0 Database Engine 如何确定Jet 4.0 的当前版本级别 ...
  • is2120
  • is2120
  • 2012年08月08日 11:23
  • 2513

ASP解决方案-Microsoft JET Database Engine(0x80004005)未指定错误

初次接触ASP的小白们都知道,XP下即使装好了IIS还是会出现错误,当然错误的状况很多种,一般情况下asp可以正常运行,但只要连接数据库就提示,Microsoft JET Database Engin...

Microsoft JET Database Engine (0x80004005)未指定的错误解决

原本电脑上是能运行asp程序的,中间重新装过一次系统,发现重装IIS后,asp程序都不能用了,经上网查了以后,才知道原来是IIS的权限和文件夹的权限没有开,具体解决办法如下: 1、系统可能没有注册m...

Access数据库打包问题:“Microsoft.Jet.OLEDB.4.0provider没有在本地机器上注册”

在VS2005下用C#写了一个简单的读取Access数据库的程序,打包,安装,32位机上能正常运行,64位机上始终出现“Microsoft.Jet.OLEDB.4.0provider没有在本地机器上注...

Microsoft Jet 数据库引擎打不开文件’(未知的)’。 它已经被别的用户以独占方式打开

今天部署一个asp程序,居然耗费了我1个多小时的精力,原来居然是C:\Windows\Temp的everyone的读写权限在作怪!!!   方法1:   错误类型: Microsoft OLE D...

VBS与.Net Jet共同实现将大量数据导入Excel

参考:http://support.microsoft.com/kb/306023/zh-cn   单独使用VBS可以完成数据导入,但限制于语言本身,效率不高 单独使用.Net可以完成数据导入,...
  • holdsky
  • holdsky
  • 2012年04月08日 16:41
  • 589

如何获得64位 Jet Driver

以前SQL Server可以用JET直接访问Excel的数据,非常方便。但是现在使用64位的SQL Server会遇到问题,因为微软没有提供64位的Jet驱动程序,可以参考:Kb 957570   ...

使用 JET模板的一些约定

现在cvs服务器上又多了一个工程,SDUGameEgineJava,之所以比原来的工程加上java,是因为这个工程是一个java程序。试过了,在Android程序中的java类里面,添上main方法,...

Microsoft.Jet.OLEDB.4.0数据库连接字符串中密码的写法!

当程序用ado的jet4.0方式连接的时候,对于设有access数据库密码的mdb的访问居然报错“无法启动应用程序,工作组信息文件丢失,或是已被其他用户已独占方式打开”,而用odbc方式不报错,小阴沟...
  • hpnets
  • hpnets
  • 2016年06月12日 20:56
  • 2549
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:JET Howto
举报原因:
原因补充:

(最多只允许输入30个字)