`
文章列表
一直都在做web,一直都在搞分页,一直没发现好的分页组件,用过displaytag,也用过jmesa,但是都不能让自己满意,虽然本人原来一直不喜欢struts2,但是工作需要,也顾不了那么多了,但是struts2本身并没有对分页提供什么帮助,看来一切都还得从头开始。首先要做的就是在网上查资料,但是并没有发现自己满意的分页方式,于是找了一个离自己要求差距不是很大的一个例子,在此基础之上进行了改装,最后基本达到了自己想要的效果。下面对此进行简单的介绍: 环境: JDK1.6 tomcat6 eclipse3.5 struts2.1.8.1 要实现分页,基本流程为JSP->PageTag- ...
说起来,接触struts2也已经差不多半个月了,虽然期间断断续续的看过一些书,但是花的时间并不多,认识也不是很到位。但是工作需要,也顾不了那么多了。struts2在中文的处理方面并没提供多大帮助,虽然内置个 <constant name="struts.i18n.encoding" value="UTF-8" /> 关于这个变量,已经有人讨论过了,主要是对request,response的编码处理,在以前解决jsp+Servlet或struts乱码时,的确是加个过滤器,然后将request的Encoding设为UTF-8,但是stru ...
一直都想花时间学习一下lucene的,主要有两个原因没有这么做。一是因为版本更新太快,而且每个版本的变化都比较大。二是花的时间精力可能有点多。现在lucene3.0已经发布了,基本上已经比较稳定了,而且公司以后很可能也会 ...

guice2之AOP

Guice之前也是花了很少时间看一下,现在几乎忘了。再一看以前写的几篇关于guice的博客,写得一点都不到位,甚至有许多地方都没讲清楚,真是惭愧!现在突然又想关注一下IOC方面的东西,因此想好好看看,Guice到底能做些什么,能做到什么程度。有空也想看看其源码。看了一下源码才发现,其实源码只包含guice部分,而实际上guice实现了其它一些第三方的源码,至少包括三个组件的源码: 一、aopalliance.jar,此包就是aop联盟定义的一组关于AOP的公共接口。 二、cglib,反射使用目前公认的最好的cglib组件。 三、asm,由于cglib使用了asm组件,所以asm也很重要。 错误 ...
几天前看见JE上新闻上的Jquery插件中,有一个叫Ajax Fancy Captcha的验证码插件,虽然jcaptcha也还不错,但就因为一验证码莫明的多个组件出来,这并不是什么好事,更何况jcaptcha还依赖几个其它的组件。当然也有人说可以用recaptcha,虽然recaptcha没有用过,不过人家说了:reCAPTCHA is a Web service,我个人不太喜欢,内网根本不能用。因此一直在思考有没有办法用JS来代替。由于以前没有找到,所以也只有忍了,jcaptcha将就着用吧!但我发现Fancy时,我心动了,正好这几天有这个心情,决定花点时间把它应用到JAVA上来。首先到官方去 ...
Junit已经更新到4.8.1了,动作还挺快的呀,可能是kent beck发现junit可能有点落后了。 的确,相对于TestNG来说,Junit的确有很多方面的局限,因此近年来,junit升级也变得飞快。 这里有一篇比较Junit与TestNG的文章:http://www.ibm.com/develop ...
前面的博客讲了一些基本常用的操作,但实际上真正运用时还会遇见一些更高级的操作,特别是查询方面更是如此,总的来说mongodb很不错,但是对于java driver for mongodb,我不是很满意,代码写得有些乱,设计思路有些不清晰,文档也不完善,例子也非常的简单,因此试验起来很是恼火,都有放弃的想法,但最终还是坚持了下来,趁这几天对它还有点激情,赶快写博客,因为这激情不是天天都有的。下面就讲讲mongodb的高级查询。 高级查询主要讲两点,一是模糊查询,二是嵌套查询。 模糊查询主要涉及到一些系统函数,明白了就简单了。见下面例子: .... DBObject in = new B ...
要换一种新的数据库注定要转变很多观念,以前认为可行的方式或思维,现在可能就行了,用mongodb做一个基本的CRUD也不是件容易的事,我甚至开始怀疑它是否真的有人们说的那么好,当然再自己还没有完全理解mongodb的前提下这 ...
最近无事,心情郁闷,不知该做什么事才好。反正也没事,前些日子听JE老大分析了一下键值数据库,由于有些数据库只支持ruby,所以找了一种能支持JAVA的,那就是mongodb,以前虽然也听别人说过键值数据库,但是不感兴趣,现在有那么一点兴趣了,就试一下也无妨。 反正自己对hibernate之类的关系匹配一直不满,现在也开始厌倦关系型数据库了,所以正好有机会试一下其它的数据库。 需要的基本环境: jdk1.6(官方说的是1.5也可以,但实际上1.5上运行有错,因为驱动包是在1.6上运行的) mongodb-win32-i386-1.0.1 mongo-1.0.jar 有了上面的基本环境后,就 ...
Jmesa本来已经讲得差不多了,但是还有一些细节可能需要完善一下,下面讲讲FilterMatcher, FilterMatcher主要针对的是条件过滤,这里要解决的问题主要有两个,一是条件查询的时候需要下拉菜单,二是解决一些格式匹配问题,如不区分大小写,日期格式等。 下拉菜单问题解决起来很简单,首先实现一个包含下拉菜单的类: public class NameDroplistFilterEditor extends DroplistFilterEditor { @Override protected List<Option> getOptions() { ...

jmesa之View

为了让jmesa分页变得更加的合理,还有一些地方需要完善,比如做个论坛之类的,像JE那样,数字分页的方式已经解决了,下面还有两个问题需要解决,一是那些条件搜索框要去掉(去掉工具栏上的搜索按钮直接调整工具栏就可以 ...
jmesa的分页工具栏显示的分页方式一直觉得不太合理,并没有像JE分页的那种方式,显示12345页,而是直接用前后页来表示,而且官方也没有相应的文档说明(至少目前还没有),不过官方有一个关于Toolbar的例子,这也好,不然毫无头绪的去看源码,也太痛苦了点。 默认的工具栏选项类源码是这样的: public class HtmlToolbar extends AbstractToolbar { @SuppressWarnings("unchecked") @Override public String render() { ...
Jmesa默认的方式是对所有的数据进行排序与过滤,如果数据太多,对性能肯定会造成影响,这是每个分页都必须处理的问题。Jmesa通过Limit来完成从数据库提取部分数据的中转操作。 见下面代码: private void addItems(TableFacade tableFa ...
一直以来,都没发现什么好的分页组件,最初时用过displaytag,仔细研究了一下,发现它并没有别人说的那么强大,至少离自己的期望还很远,因此尝试寻找其它新的分页组件,但很久以来都没发现自己满意的。无意中又发现了jmesa,也受到了很多的人的吹捧。于是自己也尝试用一下,不过发现其资料相当的少,就算其官方网站上也没多少资料,把整个2.4.5的ZIP包下载下来后,发现连基本的文档都没有,更让人郁闷的是基本的API文档都没有。看来要看看基本的效果也不是那么简单的事情,唯一的资料就是官方的几个例子,实在搞不明白也只有看源码,说实话,源码的注释很少,有些方法或类是用来做什么的根本就没说,理解起来确实有点难 ...
Junit4的变化还是挺大的,在4.7版本中有引入了另一特性,那就是Rule。总的来说,Rule是Junit的一种扩展机制。规则可以很灵活的添加或重新定义每个测试方法或类的行为,测试人员能重新利用或扩展junit提供的规则,也可以定义自己的规则。 http://www.infoq.com/cn/news/2009/07/junit-4.7-rules列举过有关的junit提供的规则或4.7的变化:     *  TemporaryFolder:测试可以创建文件与目录并且会在测试运行结束后将其删除。这对于那些与文件系统打交道且独立运行的测试来说很有用。其实这个功能不常用,但有时候的确又会用到,Ru ...
Global site tag (gtag.js) - Google Analytics