- 浏览: 176195 次
- 性别:
- 来自: 北京
最新评论
-
di1984HIT:
ElasticSearch 与 Solr 的对比测试 -
di1984HIT:
好恐怖~~~
ElasticSearch 的一次非正常master脱离的调查 -
zqb666kkk:
楼主能否测试 下 solr5.2.1和 ElasticSear ...
ElasticSearch 与 Solr 的对比测试 -
sadgod:
无法创建线程,貌似是虚存空间不足了,32位机器的话,创建不了太 ...
ElasticSearch 与 Solr 的对比测试 -
mengfei86:
好文章啊,顶起
ElasticSearch 与 Solr 的对比测试
文章列表
看这篇文章: http://forums.smartclient.com/showpost.php?p=36088&postcount=4
看样子SmartGWT 的人认为 UiBinder 对 SmartGWT来说是一种倒退,而且SmartClient
本身也提供了一套以 xml 来写UI的东西。
不过,不依靠标准,总是会出现问题的。而且,使用UiBinder,可以很方便的将 Html 原型
直接拿过来就使用,UI人员也很方便的介入到开发过程当中。
目前我们在使用 Echo3,就是使用了一套自己做的类似于 UiBinder的机制,使用 Html 来
做为 lay ...
在使用 Hibernate Search时,为了降低复杂性,通常都把所有的 @Field 加上
name = "ALL",然后在搜索的时候,只支持对 "ALL" 这个 Field 的搜索。这样的
好处当然是简单,不需要在搜索的时候去解析用户的输入,高亮的时候也不需要
去逐个解析搜索条件。
当然,有利必有弊,坏处就是不能精确的检索。例如,我只想找标题里面含有某个特殊
字符的,那么我的这种做法就没戏了。
解决方案是什么呢,其实也简单,还是 FieldBridge。我在 @Field 里面,不定义name,
也就是说,原来是title的 ...
公司一个老项目,这两天爆出了一个问题。异常都是
java.lang.IllegalStateException: getOutputStream()
has already been called for this response
这个项目的内容,就是通过页面下载一个word文件,当然这个word文件是根据用户的选择动态生 ...
和刚才的需求
一样,我要在一个 DetailViewer里面加上 icon,
试了好几种方法,类似于ListGrid里面的 setCellStyle和 覆盖
setCellStyleHandler 方法都试过了,前者不起作用,后者只能
返回css 的 class,而不像 ListGrid 里面可以返回text 的 style。
幸好 DetailViewerField 还有个 DetailFormatter 可以设置,通过这个
formatter,可以做很多事情,例如把 文件大小改成带逗号的,把日期
按照自己想要的格式显示,也可以满足上一篇blog里面的要求。上代码:
...
常常会需要在Field的某一列显示一个icon,例如文件列表,在文件名前面放一个icon。
很正常的需求,但是SmartGWT的 ListGrid,只能在设置 ListGridField 的时候,设置
其type 为 image 或者 icon。而对于在同一列里面既要显示icon,又要显示文本,似乎
比较困难。
幸好 ListGrid 有个 getCellCSSText 的方法可以覆盖。那么我们就可以在这个方法当中,
设置一下它的css,用 background-image 来达到这样的目标,上代码:
docsList = new ListGrid() {
@Over ...
前几天部署了一下SmartGWT做的应用,今天有些小修改,又重新 compile 之后,
把目标目录覆盖了一下。这个时候,噩梦开始了。
首先,表现出来的症状就是后台抛出个异常,是 org.eclipse.jetty.util.log.StdErrLog.format
里面的NullPointe ...
SmartGWT的换肤不是问题,他的showcase里面就有例子。不过有个问题,
smartgwt-skins.jar 里面的皮肤和smartgwt.jar里面的Enterprise Blue/
Enterprise Gray 皮肤的css定义有些不配套。例如, button_Over_stretch.png
放的位置就不一样,缺省的在 cssbutton目录下,而TreeFrog则在button目录下。
如果这几种样式都同时装载,那么就会出现TreeFrog当中某些图片无法正常展示的情况。
这时候,在 module 的xml定义当中,不是缺省的 inherits SmartGw ...
在 http://simonlei.iteye.com/blog/577068
这篇文章中,我找到了一个简单的办法来对
索引进行reindex。不过,现在又有个需求,我希望能够对 reindex的过程做一个进度条。
看了一下文档,fullTextSession.createIndexer() 得到的实际上是 MassIndexerImpl,使用这个类
的 startAndWait 方法来进行reindex,就是阻塞的,使用 start 就是异步的。而且,更美好的是,
MassIndexerImpl 类里面使用了一个 MassIndexerProgressMonitor, ...
SmartGWT 的hover更新办法
- 博客分类:
- 默认类别
我的需求很简单,一个ListGrid,大概只显示了最重要的两列,更多的内容呢,不外乎
几种方式展现。
一种是双击打开Dialog,用户操作起来太麻烦,放弃;
另一种是用Expand,在每一行前面有个小加号,用户点击之后展开。不仅丑,而且麻烦,放弃;
用hover,用户鼠标放上去之后,就把详细的信息给展示出来,鼠标移走后就没有了,这个不错,就它了。
决定了之后,就是用 hover handler了。这里有几点需要注意的:
要记得设置 setShowHover(true)和setCanHover(true)。设置前者可以展示hover,设置后者才能响应hover的事件。
我 ...
这个思路其实是为了解决title 中文问题的时候发现的。当时想着,实在不行我就自己做
一个DataSource的定义。SmartGWT 里,DataSource就是它的元数据核心。
这里,DataSource实际上有两个,
其一是客户端的 com.smartgwt.client.data.DataSource ...
SmartGwt 里面采用 .ds.xml 文件来定义客户端与服务器之间交互的数据源。
用英文都没有问题,一旦碰到中文的title,用正常的
<script src="sc/DataSourceLoader?dataSource=xxx"></script>
这种方式,就会在页面上显示为若干个??
搜索smartclient的论坛,发现有些解决方案,将我的解决方案记录一下:
1. 把html改成jsp,引入
<%@ taglib uri="/WEB-INF/iscTaglib.xml" prefix= ...
在使用hibernate作为datasource的情况下,有两种方法。
第一种是我最开始用的办法,比较普通,也比较土。使用RPC来进行校验,在提交之前,使用RPC的调用。
XxxxRemoteService.Util.getInstance().isFileNameValid( form.getValueAsString( "name"), new AsyncCallback<Boolean>() {
@Override
public void onSuccess(Boolean result) {
if ( result) {
f ...
错误:
Hibernate的saveOrUpdate没有效果,爆出错误 ignoring persistent instance
对策:
Hibernate 的 saveOrUpdate不起作用,打开debug可以看到 ignoring persistent instance之类的,可以用手工flush的方式来提交。但是根本问题是没有加上txManager。解决方案很简单,在Bean上增加 @Transactional,然后在xml当中增加:
<tx:annotation-driven transaction-manager="txManager" ...
使用Hibernate Search方便是方便,可是找出来的结果,都是一个个的实体。而当我想要
使用高亮时,就没那么简单了。一开始走了弯路,按照以前直接用 lucene 的经验,打算自己
找到 QueryHits,然后对 QueryHits的结果进行逐个的高亮。幸好及时搜索了一下,对我帮助
最大的就是 https://forums.hibernate.org/viewtopic.php?f=9&t=982678 这篇文章。
当然,这篇文章也有点复杂了,不知道为啥要对query进行rewrite。在我看来,帮助最大的就是
提醒了我,可以用 query.setProjection( ...
以前做过 Hibernate Search的重建索引,就是老老实实的把所有的Mapped Class 找出来,
然后一个Class一个Class的找每个对象进行reindex,代码很长,写的很累。如下,先找到
所有的Class,
public void reindex() {
Session session = getSession();
FullTextSession fullTextSession = Search.getFullTextSession( session);
fullTextSession.setFlushMo ...