摘要: 配置:pom.xml中追加如下依赖。<dependency> <groupId>org.apache.struts</groupId> <artifactId>struts2-core</artifactId> <version>2.3.14</version></dependency>web.xml中追加过滤器。<filter> <filter-name>struts2</filter-name> <filter-class>org.apache.s 阅读全文
posted @ 2013-04-20 17:46 VoctrALs 阅读(241) 评论(0) 推荐(0) 编辑
摘要: 框架通常被分为两种,基于Action的框架和基于组件的框架Struts2就是一个典型的基于Action的框架。Servlet是控制器,它把所请求的URL与被称为Action的工作单元映射到一起。Action的工作就是通过访问HTTP会话、HTTP请求和表单参数等调用业务逻辑,最后把响应映射到以POJO(plain old java object)形式存在的模型上,来完成特定的功能。最后,Action返回的结果会通过配置文件映射到JSP页面上,JSP会渲染视图并显示给用户。Tapestry和JSF是典型的基于组件的框架。这种类型的框架用我的理解来说明一下:当一个页面中出现了多个表单的时候,也就是 阅读全文
posted @ 2013-04-20 15:10 VoctrALs 阅读(189) 评论(0) 推荐(0) 编辑
摘要: 由于服务器发布war项目不尽相同,所以获取properties也不尽相同。 tomcat: glassfish: question: I'm currently migrating from WebSphere 6.1 to Glassfish v3, I managed to deploy an 阅读全文
posted @ 2013-04-12 14:29 VoctrALs 阅读(423) 评论(0) 推荐(0) 编辑
摘要: AppModule.java public static void contributeServiceOverride( MappedConfiguration<Class<?>, Object> configuration, @Local RequestExceptionHandler handler) { configuration.add(RequestExceptionHandler.class, handler); } public RequestExceptionHandler buildRe... 阅读全文
posted @ 2013-04-10 16:07 VoctrALs 阅读(197) 评论(0) 推荐(0) 编辑
摘要: Tapestry IoC容器从历史上来说,是从从HiveMind继承发展而来,但是HiveMind和目前大红大紫的Spring都不能满足Tapestry的一些特定的需求,所以全新开发了一套IoC的容器。其核心思想就是使用Java代码自身来解决依赖注入而不是由Xml之类的配置文件来完成,这和Guice的思想是非常相似的,Lewis也承认从Guice那里借鉴了不少。另外需要说明一下的是,Tapesty还从中国的一个非常古老但又充满哲理的游戏--围棋中借鉴了一些术语和思想。大意是围棋中经常要把棋子走的轻盈(Lightness),让每个棋子都能尽量地高效。编程也一样要轻量(Lightness)。IoC 阅读全文
posted @ 2013-04-10 15:02 VoctrALs 阅读(646) 评论(0) 推荐(0) 编辑
摘要: 一个AjaxFormLoop控件需要指定source,value,t:id和encoder四个属性。source和value跟loop一样。而这个encoder必须要提供,因为它与addRow和removeRow有很大的关系。另外一个form是必须的。这里有几个注意事项1 removeRow对应着java端的onRemoveRowFromSomeId,而这个SomeId跟t:id的值是一样的。2 addRow同上,onAddRowFormSomeId。。。3 onRemoveRowFromSomeId方法的参数,为value指定的类型。。。而value的值为encoder的toValue的值。 阅读全文
posted @ 2013-04-08 21:07 VoctrALs 阅读(254) 评论(0) 推荐(0) 编辑
摘要: 1参数source是GridDataSource类型的。一般情况下,source是一个List或者是一个Array,但是也可以是一个Explicit(不懂)。2empty参数可以指定当,source.size = 0时显示的内容。。。3可以指定初始化的时候按照某一个列来排序。代码如下:@InjectComponentprivate Grid grid;void onSetupRender(){ if (grid.getSortModel().getSortConstraints().isEmpty()) { grid.getSortModel().updateSort("s... 阅读全文
posted @ 2013-04-05 22:31 VoctrALs 阅读(220) 评论(0) 推荐(0) 编辑
摘要: void onPrepareFromSearchCustomers() { // Any setting up of editable objects or fields on this form should be done in here. } void onPrepareFromSearchSuppliers() { // Any setting up of editable objects or fields on this form should be done in here. } Object onSuccessFrom... 阅读全文
posted @ 2013-04-03 23:17 VoctrALs 阅读(158) 评论(0) 推荐(0) 编辑
摘要: <form t:type="form" t:id="names"> <t:errors/> <table> <tr> <td>First Name:</td> <td><input t:type="TextField" t:id="firstName" t:validate="required"/></td> </tr> <tr> <... 阅读全文
posted @ 2013-04-03 23:14 VoctrALs 阅读(198) 评论(0) 推荐(0) 编辑
摘要: 在一个<t:form t:id="someId">...</t:form>中,存在一个<t:submit>的话,我们点击这个submit。那么java端会触发两个方法。1 onValidateFromSomeId(){...}这里一般是用来验证的,但是有时也会有一些其它的作用,譬如说转化错误或者屏蔽错误等。2 onSuccess(){...}这里当然就是需要进行的处理了。一般情况下是进行一个跳转,所以一般情况下这个方法的返回值是一个Object(stringKindPageName, PageName.class)或者是一个Link等。那 阅读全文
posted @ 2013-04-03 23:08 VoctrALs 阅读(158) 评论(0) 推荐(0) 编辑