`
Tin
  • 浏览: 138589 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论
文章列表
TSS座谈会上Cameron Purdy, Rod Johnson, Bruce Snyder, Bruce Tate, Floyd Marinescu和Ari Zilka作了一个“企业级Java的未来如何?”的座谈。下面是infoQ上关于这个座谈的一个总结,不是原文,是摘要。首先大家谈一谈关于企业级Java的未来的想法:Bruce Tate:企业级Java状态良好,缺乏的是Java对低端应用开发的支持(在Web应用领域看,明显是在暗指Ruby on Rails)。Ari Zilka:可伸缩性问题突显出来,将会倾向于让更多的机器分布式工作来代替花很多钱在一台巨强的机器。“我认为AOP将会改变应用 ...
无奈,寻找好的解决方法,把我现在擦屁股的现场记录下来。我用GenericHibernateDAO,慢慢积累下来的,有这几个DetachedCriteria的方法: public  List findByDetachedCriteriaByPage(         final  DetachedCriteria detachedCriteria,  final   int  pagesize,         final   int  pageno) {         return ...
WebWork的result实现非常实用,它很好的解决了View渲染的灵活性问题。这才是MVC模式的优势所在,而像JSF那样帮定JSP的MVC就吃不到这个甜头了。说WebWork2是Model 2 MVC的巅峰就在这些灵活的地方。闲扯这个不是主要目的。现在Rome是Java下最常用的RSS包,最近消息似乎要转入Apache的Abdera合并变成更强大的聚合引擎。用Rome生成和解析RSS都很方便。今天讨论一下使用ROME给网站生成RSS,并通过WebWork2的Result机制渲染。最初是从WebWork的Cookbook上看到的RomeResult的文章,一看就会,我这里其实不过是举个详细点的 ...
原来还有个JDO 2.0实现叫做JPOX。而且发现JDO 2.0的接口等定义是由Apache发布的,它是有Sun捐献的。JPOX是2003年3月才开始开发的,目前实现支持JDO 1.0和JDO 2.0(JSR-243)规范。JPOX号称支持JDOQL和SQL,而且以后也要实现EJB3持久化规范中的JPA(Java Persistence API)。看来BEA有了Kodo,JBoss有了Hibernate,Oracle和Sun有了融合了TopLink的Glassfish中的EJB3持久化容器后,应该还有其它的厂商可以提供这样的东西出来。而且似乎JDO 2.0变成真正透明持久化后,从JDO商业实现转 ...
在Hibernate中获取有关联关系的pojo。我是指例如一个User(用户)拥有一个many-to-one的属性Unit(单位),但是有时有些用户的Unit属性为空,如果按单位查询用户的时候那些单位为null的用户就会被遗漏,如何调取呢?这本来是很简单的,但是我想当然的使用了Restriction.eq,但是不行,后来看了手册才发现应该使用Restrictions.isNul。下面是Test代码...    /** *//**     * 为了获取一个unit为null的用户,如果传入一个null作为Uint实例则返回的结果总是0     * 因为执行的SQL为:(select * ) fro ...
江南白衣的Blog上一篇:Java5泛型的用法,T.class的获取和为擦拭法站台他参考的这里:Generic Data Access Objects我们的项目中也用的GenericHibernateDAO,里面使用了一个: public  GenericHibernateDAO( final  Class < E >  clazz) {         this .clazz  =  clazz;    } 的构造函数。但是看了江南白衣的介绍,的确方便的可以写成:publ ...
这两天太忙了,没时间写Blog,业余时间又扒了一次google的拖拽,对比了netvibes的,差不多,让后就写了个注释,顺便学习。google用了混淆,js里面的命名比较晕。我花了些时间把他们翻译成容易看懂的命名,并且作了注释,希望对大家有帮助。可以这里下载我的例子:http://www.blogjava.net/Files/iamtin/google_drag.rar // 工具类,使用Util的命名空间,方便管理 var  Util  =   new  Object(); ...
为我们的项目写的一个轻量的分页API。目的在于将分页与数据查询的逻辑完全剥离。我以前看过robbin发的通过detachedCriteria实现的分页那片贴子,里面把分页和数据查询结合在一起了。而我觉得分开更轻量,而且替换也比较容易。但是这个实现中有一个反模式,在逻辑中生成了代码,无奈之选,为了简便。其中字符生成可以自己扩展i18n实现,应该非常容易。分页实现的接口:package com.goldnet.framework.util.paging;/** *//** * 分页操作的接口 * @author
使用jakarta commons-upload。 升级到2.2.2后发现上传中文会乱码。 经过跟踪发现在com.opensymphony.webwork.dispatcher.DispatcherUtils的prepare(HttpServletRequest request, HttpServletResponse response)方法。 2.2.1->2.2.2时这个方法发生了非常的的变化。 2.2.1时 ...
Jave Web Framework Sweet Spots Java Web 框架的“甜点” 这是一篇很有趣的文档,所以摘要一下,其实类似阅读笔记,好像是3/25发布的: 不知怎么翻译Sweet Spots,难道翻译为甜处、甜头、蜜点、蜜穴? 这时基于对以下人的采访:JSF  Jacob HookomRIFE  Geert BevinSeam  Gavin KingSpring MVC Rob HarropSpring Web Flow Rob Harrop and Keith DonaldStrip ...
今天浏览WW的Wiki,结果无意发现ww:date标签的用法,挠头一想以前没有见过呀,仔细一看原来是2006/3/21才加上的。会头看看项目发现用的ww 2.2.1中没有这个标签,心想是不是发布新版本了?果不出所料!发现OPENSYMPHONY已经发布2.2.2了。不过2.2.2是在Opensymphony下的最后一个版本了,以后的版本就会以Struts Action 2.0的形式发布了,而后者今年8月才发布,中间的日子估计只能靠nightly build了。说说变化,发现增加了RichTextEditor,经考察就是我们熟悉的FCK Editor。发现还增加了nifty corners,这是一 ...
BJUG的Cleverpig说起Stripes,正好前两天在TSS上看到Simon Brown的Blog,对它有点感性认识,所以今天就看了一下,说些粗陋的感受:皮毛上的观感:1、使用Annotation配置。将Action影射、返回View、默认Command注册、是否验证这些东西都通过Annotations搞,挺有意思。2、它也包装了自己的Tag,Tag从感官上感觉很像WebWork的风格(估计Stripes也是过这个来实现bind,和Spring MVC相同吧,不过没仔细看Stripes的bind方式)。但是它好像很方便与JSTL共用,所以我觉得它可能和Spring MVC类似,把变量拷贝到 ...
遇到了一个奇怪的“浏览器兼容问题”……是这样的,登陆页面工作不正常,在firefox下总是没有登陆,根本就没有触发webwork的filter dispatcher。打开我的三剑客:IE、Firefox、Opera测试,发现只有Firefox不行(Mozzila内核的都不行)。然后花了3个多小时找原因,翻遍网络:weblogic、webwork、fireforx所有关键词都搜索了,没有收获。然后开始sniffer,看报文。经过多次分析,发现firefox根本就没有post那个form!然后又是继续的分析还是无果,一筹莫展……然后旁边同事大喊,你这<input type="subm ...
Webwork是标准的请求风格Web MVC,类似的有Struts、Spring MVC。这这种风格的MVC中都使用了前端控制器模式(企业架构模式),也就是说一个URL会被解析然后派发到对应的Action解析,而View调用的是Action处理后的Form对象或者Command对象(R ...
根据生日计算年龄可以通过Calendar实现。最简单可以考虑get(Calendar.DAY_OF_YEAR)来简单修正年龄,但是遇到生日在闰年的2月29之后,或者今年是闰年的2月29之后可能出现计算不准,误差一天。所以还是老实判断年月日好了。 public static int getAge(Date birthDay) throws Exception {        Calendar cal = Calendar.getInstance();        if (cal.before(birthDay)) {            throw new IllegalArgumentEx ...
Global site tag (gtag.js) - Google Analytics