·关于错误处理的想法.(阅读:50 发表时间:2007-06-11)
EasyJWeb还缺少一个错误处理。 我想了一个错误处理的思路,请大家看看。 首先,我认为错误处理主要分成两个部分, 一个部分是对Action内部的错误处理, 一个是对整个框架产生的错误的处理。 所以,我感觉, 对于Action的错误处理可以分成两个思路来处理, 一个是使用doException(xxxException e,WebForm,Module)这样的方法来处理xxxException, 一个是使用@ExceptionHandler(xxxExceptionHandler.class)这样的类标注来引入错误处理器。 对于框架级别的错误,我想可不可以这样处理, 就是在配置中一个默认的错误处理器包,比如<exceptionHandlerPackage>com.easyjf.teaec.exception</exceptionHandlerPackage> 然后往这个包里面加入xxxxExceptionHandler的约定类。 那么在处理错误的时候,就可以直接通过约定来对xxxException调用com.easyjf.teaec.exception.xxxExceptionHandler这个类来处理。 具体这个xxxExceptionHandler的处理方法再使用@Handler标签来标注就可以了。 这个是我提供的一点思路, 大家来提提意见。 --详细内容
|
·一种新的BaseAction,看看行不行(阅读:248 发表时间:2007-06-10)
又看了下java5的标签,越来越感觉不错, 所以就实现了一个原来一直想要的Action:AbstractCmdAAction. 名字和原来的Action只多了一个A,表明里面都是用标签做的。 首先来说说原来的doXXX,其实和JUnit3.8一样,为什么JUnit与时俱进的推出了Junit4, 这个原因说的是doXXX会造成语义的混乱。 所以,我也给改了, 下面说说加的几个标签: @init ——初始化的标签,比如: @Init public Page doInit(WebForm arg0, Module arg1) { // TODO Auto-generated method stub return null; } 被标识的方法作为默认的处理请求方法。 @Before——Action前操作,可以标识多个方法。同时可以加入一个参数,@Before(1) @Before(2)来标识方法执行的顺序。 如果被标识的方法返回了一个Page对象,则不执行之后的@Before和Action了。 @After——Action后操作,可以标识多个方法,也能加入一个顺序。方法均执行。 @Do("name")——方法标识。其中name为easyJWebCommand标识的名字, 比如: @Do("add") public Page add(WebForm form, Module module) { return new Page("edit", "/blog/albumDirEdit.html"); } |
·使用Provider来实例化/注入第三方对象(阅读:193 发表时间:2007-04-15)
在Guice-Group上的一篇讨论, 有一定的指导意义,大概意思翻译如下: jfz———— 能有一个用Guice来实例化/注入一个DataSource,或者第三方对象的例子么? 比如在Spring的环境下可以如下配置: <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close"> ... <property name="initialSize"><value>2</value></property> <property name="username"><value>sa</value></property> <property name="password"><value></value></property> ... </bean> Dhanji R.Prasanna———— 你可以创建一个Provider<B...-- 详细内容
|
·easyJWeb使用spring容器(阅读:351 发表时间:2007-03-20)
easyJWeb里面使用spring容器来帮助管理bean: 在JWeb的配置文件中加入: <bean name="springContainer" class="org.springframework.context.support.ClassPathXmlApplicationContext"> <constructor-arg type="java.lang.String[]"> <list> <value>classpath:applicationContext.xml</value> </list> </constructor-arg> </bean> <bean name="innerSpringContainer" class="com.easyjf.container.impl.SpringContainer"> <property name="factory" ref="springContainer" /> </bean> 其中的<list><value>classpath:dao.xml</value></list>为spring配置文件的路径, 现在暂时使用的是ClassPathXmlApplicationContext。 现在在applicationContext.xml中配置一个bean(片断...-- 详细内容
|
·EasyJWeb+prototype(阅读:298 发表时间:2007-02-09)
很久没有写blog了,今天来说说。 之前大峡写的blog关于EasyJWeb中集成ajax的文章, 详细内容
|
·Easyjf团队第一次聚会通知(阅读:345 发表时间:2007-01-10)
Easyjf在成立了将近一年, 也有了固定的成员和支持者, 在2007年到来的第一个月中, 我们希望能组织Easyjf团队的第一次聚会暨2007年Easyjf发展讨论。 时间初步定在2007年1月18日,地点为成都。 其他具体事项还在商讨之中, 希望有兴趣参与的朋友能报个名,我们能统计一下。 报名请到我这里或者大峡那里。 谢谢。 --详细内容
|
·Velocity 开发者指南上架(阅读:107 发表时间:2007-01-08)
终于搞定了, 开发者指南也放到wiki上了:http://wiki.easyjf.com/pages/viewpage.action?pageId=88 花了三个小时调整格式。 由于篇幅过长, 必定有的地方格式还是有问题, 希望大家在阅读的时候能帮忙修改, 希望分享智慧!! --详细内容
|
·velocity翻译进程(阅读:413 发表时间:2007-01-07)
上次提到了Velocity中文站的事情, 由于一些特殊原因(比如那个电缆断裂,还有apache把163的邮件当垃圾,还有怎么apache回复那么慢) 对于该翻译计划的合法性还没有得到官方认证 不过我已经将几个大头都翻译了, 包括使用者指南,开发者指南,VTL指南等, 现在使用者指南等已经放到了wiki中: 但开发者指南还没有放上去, 因为在翻译的时候是直接在页面上翻译的, 但dev指南是从opensource上下的, 页面使用的是table标签 所以在wiki中显示效果不对。 不过在整理后会尽快传上去。 由于时间紧张,加上这段时间我还有两门考试 个人的水平关系, 在翻译中有N多错误 还有一些没有翻译的段落, 希望能在察看的时候能对错误进行修改和添加(只需要注册成用户就行了) 希望大家分享智慧!! --详细内容
|
·关于做velocity.apache.org中文站(阅读:457 发表时间:2006-12-24)
大峡提到了由我们来翻译制作velocity.apache.org中文站的想法, 我觉得很有必要, easyjweb主要有velocity做页面层, 而现在关于velocity的中文资料确实不算多。 与apache.org联系了几次都没有联系上。。。 郁闷, 但这边可以同期的开始翻译了, Velocity 1.5 beta2刚刚出来没有多久, 我们趁这个机会能赶在1.5正式版本出来之前就好了, 但现在的人手确实不够, 我想先就自己翻译到, 其他想翻译的大家一起再来搞。。 先报下, 我正在翻译home,getting start ,overview & Getting Started with a Web Application userGuide 和DEV guide是两个大头。 --详细内容
|
·ant的一些小例子(阅读:619 发表时间:2006-12-09)
今天比较系统的看了下ANT,发现自己以前对ant的看法太肤浅了,今天才理解ant是一个多么有用的Workflow framework,而远远超越了一个部署工具。 ant+想象力=powerful tools。 还没有接触ant自定义task的编写,只学习了datatype,property,core task。 在学习的过程中跟着写了些例子,发现对datatype的理解还是比较混乱,还要多写写才要的。 现把一些今天写的文档弄出来, 还是望指点,能给一些best practice。 <?xml version="1.0" encoding="UTF-8"?> <project name="xdocletExample" default="selectTask" basedir="."> <property name="xdoclet.lib.dir" location="${basedir}/lib" /> <property name="gen.src.dir" location="${basedir}/target" /> <property name="src.dir" location="${basedir}/src/" /> <property name="build.dir" location="${basedir}/build/classes" /> <property name="template.dir" location="${basedir}/template" /> <property name="customtag.dir" location="${basedir}/bin" /> <property name="junit.build.dir" location="${basedir}/build/test" /> <prop...-- 详细内容
|
·easyjweb schema(阅读:97 发表时间:2006-11-30)
昨天发了easyjweb 的DTD文件,今天写了schema,感觉比较难, 还是有错误请指出来, |
·easyjf-web配置文件DTD(阅读:124 发表时间:2006-11-29)
今天做作业,写DTD和schema,继续学习了下,把easyjweb的配置文件easyj-web.xml的DTD练习了下,有不正确的地方请各位指出,明天会贴出schema。 <?xml version="1.0" encoding="UTF-8"?> <!--easyjweb 0.5版本dtd文档--> <!ELEMENT easyjf-web (frame-setting?,modules?,forms?)> <!--框架配置选项--> <!ELEMENT frame-setting (template-base?,init-app?,interceptors?,property*)> <!-- 定义模版文件的根目录,默认为WEB-INF/easyjweb/ --> <!ELEMENT template-base (#PCDATA)> <!-- 定义在初始化框架的时候需要运行的类 --> <!ELEMENT init-app (app-class*) > <!--该标签有3个属性, class里面应该是要启动的类的完整类名, init-method表示的是该类的启动方法,com.easyjf.web destroy-method表示的是在应用结束后使用来清理该类的方法,比如释放一些资源等操作 class属性是必须具有的 init-method也是必须要有的 --> <!ATTLIST app-class class CDATA #REQUIRED > <!ATTLIST app-class init-method CDATA #REQUIRED> <!ATTLIST app-class destroy-method CDATA #IMPLIED> <!-- 该标签是定义了应用的拦截器,在这里定义的拦截器是拦截request请求并进行拦截连的处理, 在这里定义的拦截器必须实现com.easyjf.web.IR...--详细内容
|
·使用XDoclet生成代码(阅读:754 发表时间:2006-11-27)
使用XDoclet生成代码 在最近的一个项目中,使用了hibernate+struts,由于中间没有使用spring来管理bean,所以...--详细内容
|
·easyjf-blog-0.2改进(阅读:397 发表时间:2006-11-07)
Easyjf-blog-0.2版本要改进的地方清单: 1, blog基本功能改进: a) 详细内容
|
·征集easyjf开源电子月刊的刊名,logo,编辑,flash制作者(阅读:133 发表时间:2006-11-05)
easyjf开源电子月刊已经在筹划之中, 期望大家积极参与, 并在这里向所有人征集easyjf开源电子月刊的刊名,logo,编辑和flash制作者, 希望大家跟帖积极发表自己的建议, 谢谢!! --详细内容
|