 |
上一主题
开源ERP在线操作的地址:
[url=http://www.nseer.com/index.jsp]http://www.nseer.com/index.jsp[/url]
版主,我想编辑一下以前..
|
|
下一主题
7.0.1版OpenCms现在可以下载了。
OpenCms 7的主要新特性
改进了内部链接管理;
当移动文件(或文件夹)时,所有引用这些文件的链接都同时修正;
删除一被其他资源链..
|
|
|
|
|
|
|
|
jhtm 入门级框架
|
2007年08月09日 20:15
|
|
|
标签列表
开源软件(60)
|
|
jhtm 入门级框架
关于jhtm的设计理念 “尽量兼容HTM,并且使HTM代码和逻辑代码分离”。 它的工作模式就是将HTM代码进行标记分割,并作为参数使函数能够调用! 只要懂得如何编写最基础的JAVA代码,就可以让它工作的很好!
和Struts之类的WEB框架对比所具有的优势 1、jhtm不需要写专门的XML 这是在我一开始就这样设想的! 2、jhtm是非常小巧的框架 仅仅9K,但并不意味着控制能力的薄弱! 3、制作简单,开发速度比较快 就像编写ASP或JSP那样,将各个HTM块作为参数嵌入到代码中!而且可以避免了在逻辑代码中夹杂HTM代码! 4、HTM代码和操作代码完全分离 HTM代码不能包含任何服务端执行代码,这样可以避免修改HTM的时候破坏逻辑代码! 虽然可能将标记代码误删,但相对于直接删除逻辑代码来说,这将更加安全! 5、兼容HTM,修改时不会对逻辑代码产生破坏 仅仅需要重新检查和配置HTM 6、第二个版本安全性相对较高 在此次测试中我使用了TOMCAT做为服务器,当将修改JAVA文件编译成功后,并没有成功的调用到 新编译好的CLASS文件!仅当重新启动TOMCAT后才能看到刚编译后的结果! 7、非入侵式框架 它可以和JSP,HTM等一起工作!它可以很好的与各框架协作! 8、它没有花哨的功能 你应该选择只需要的那些功能,而不是把用不着的功能一起捆绑给你! 9、相对其他框架,学习速度更快 您如果读到如何使用jhtm时,将惊讶的发现,它竟是如此的简单! 10、有着相对较高的重用性及代码间的交互性 你可以将逻辑代码分的很详细,以便重复调用。而且逻辑代码都在一起,这样就有一个交互性。
关于jhtm的2个版本 2个版本都不需要写XML配置的。但只能任选其一作为WEB框架。 第一个版本jhtm.jar 是一个.jhtm描述配置文件加上一个对应的类文件所组成。(既.jhtm+.class) 第二个版本jhtmclass.jar 是一个包含.jhtm描述配置的类文件加上一个多对应的类文件所组成。(既.class+.class)
最简单的使用例子
aa.jhtm(可放在项目的对应目录下。假设在根目录)
<h1>first1</h1><jhtm:doFirst><jhtm:arg/>acccaa1 <jhtm:arg/> <h2>second</h2> <jhtm:arg/> <h3>thread</h3></jhtm:doFirst>aabbccddeeff1
aa.class(WEB-INF\classes\jhtm目录下)
package jhtm;//保存为相对应的包中
import javax.servlet.* ;//如果需要可以加 import javax.servlet.http.* ;//如果需要可以加 import opensource.Kenty.jhtm.DoClass;//必须包含
public class aa //class文件名必须和jhtm文件名一致 { public String charset="gb2312";//要输出的编码,默认为GB2312 HttpServletRequest request;//可选 HttpServletResponse response;//可选 /** *public StringBuffer doFirst(StringBuffer []args, DoClass doclass) *必须返回StringBuffer 类型 *doFirst为标记的函数名称 *StringBuffer []args 相关的参数列表,和<jhtm:arg/>相对应 *doclass,必须,主要为了获得request和response */ public StringBuffer doFirst(StringBuffer []args, DoClass doclass) { this.request=doclass.getHttpServletRequest();//获得request this.response=doclass.getHttpServletResponse();//获得response /*try {//可选 跳转,像一般的使用方法一样。 request.getRequestDispatcher("index.jsp").forward(request,response); } catch(Exception e){System.out.println(e);}*/ StringBuffer s=new StringBuffer("<h4>dofirst<h4>"); for(StringBuffer s2:args) s.append("<h4>"+s2+" is do ok</h4>"); return s; } }
最后在WEB.XML中加入 <filter> <filter-name>action</filter-name> <filter-class>opensource.Kenty.jhtm.ActionFilter</filter-class> </filter> <filter-mapping> <filter-name>action</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> 将第一版本的jhtm.jar复制到WEB-INF\lib目录下,启动tomcat在地址栏里输入:路径名/aa.jhtm即可看到效果
在2个版本的目录下有详细的使用说明及DEMO。
应该注意的问题 由于其重复性比较强,所以特地需要注意 1、jhtm和类对应的文件名一致,public class xx 也要一致,并且注意包名。 2、需要注意public StringBuffer 函数名称(StringBuffer []args, DoClass doclass) 3、函数名称要与标记相对应 4、函数开始标记和结束标记要对应 5、注意arg参数列表,应该要明确知道传进来的顺序及内容! 6、demo.jhtm的处理arg中你已经看到了不明白arg参数列表所造成的麻烦!所以请配置好HTM并要知道arg参数列表传进来的顺序及内容! 应该将s.append(args[3]);放在s.append("<a href='./demo.jhtm?id=1'>增加一行</a>");之前就可以了。 7、不要有多余的空格出现。</jhtm:end>是推荐的,而</jhtm: end >可能出错!
对此出现的未知BUG感到抱歉!如有BUG或者建议、意见可以发送EMAIL致opensourcejhtm@gmail.com或opensourcejhtm@yahoo.com.cn。我会及时的回复您的来信。 此框架遵循GNU GPL(GNU General Public License 通用公共许可证)协议! 著作权所有(c) 2007.7 Kenty 允许每个人复制和散布本授权文件的完整副本。 下载 http://www.javatx.cn/upfiles/club/20078/2007080919562292527.rar
|
|
|
|
|
|
回复:jhtm 入门级框架
|
2007年08月15日 12:43
|
|
|
很有创意的构想,顶一下。
Jsp简单,但是代码多了不容易维护,如果克服缺点,弘扬优点,是一个方向。
|
|
|
|
热点TAG:
AOP
cache
缓存
DDD
EJB
集群
设计模式
Hibernate
IOC
JiveJdon
OO
RBAC
Seam
Spring
Struts
anti spam
|