Struts2中图片设置缓存

在Struts2中,如果图片用InputStream 字节输入流进行读取图片,浏览器加载页面时每次都会重新加载图片,这样不但加重了服务器负担,还增加了带宽流量,并且图片本来是比较大的资源,会大大增加带宽资费。
所以为了开源节流,为Struts2中图片设置浏览器缓存是必须的。

继续阅读

ExtJs 5 build之后body高度为零的问题。

用Sencha创建的项目,创建开发时获取的body.height为浏览器可见大小。 后来sencha app build之后,Ext.getBody().getHeight()的大小变成0了。 后来发现body元素的宽度默认是浏览器宽度,高度为0,要让它高度适应浏览器要在html和body的Css加上height:100%;。为了看看原来的CSS,创建了一个新的ExtJs项目,发现html和body元素都有viewport的CSS (.x-viewport,.x-viewport > .x-body),

 

build之后就消失了,查找CSS源码发现上方有一行注释:/* line 2, ../../../ext-theme-base/sass/src/container/Viewport.scss */ 。看起来与Ext.container.Viewport有关,然后在控件的requests配置项里加了”Ext.container.Viewport“,重新生成项目问题解决,在build中发布的版本里的css文本添加了丢失的css,不过也会增加了container.Viewport的js源码,增大了js的体积。 原来CSS也是按需创建的,开发时项目里没用到的控件CSS也起了作用。不知道这个算不算ExtJS的一个Bug。 还有一个方法是用自己的CSS改变html和body的高,在app.json里添加你的css文件路径即可荐。

Sencha CMD: sencha app build出错的原因

sencha运行需要Ruby,但是有一个问题是,一定要安装1.9的版本,其他版本如:1.8,2.0都会使sencha运行出错,并且Ruby中文官网没有Windows下的1.9安装包,大家可以到 http://rubyinstaller.org/downloads/ 这里下载,这个版本包含了gems,Sencha需要,否则运行会出现某些gems函数无法调用,例如可能会出现以下错误信息:
Could not find RubyGem compass (>= 0) (Gem::LoadError)

另一个问题,build的时候,项目路径不可以为中文,Ruby不支持GBK编码,会提示错误信息,因为本人不懂Ruby,就不深究了,直接用英文路径即可。

Struts2中使用action标签包含jsp页面时出现乱码。

在jsp中使用了<s:action … />时,被包含的页面可能会出现乱码,经查询好像没有人把这个问题的方法写出来,这里记录一下。

只要在被包含的页面第一行加入 <%@page contentType=”text/html;charset=utf-8″%>(utf-8可替换为你用到的字符集)即可。

java.lang.ClassNotFoundException: org.springframework.dao.support.PersistenceExceptionTranslator

如果你的项目(我这里是用spring+hibernate时出现)里出现

找不到org.springframework.dao.support.PersistenceExceptionTranslator这个类,网上查了一下,都说要添加org.springframework.transaction-3.1.1.RELEASE.jar即可,实在找不到这个jar文件,官方的spring里也没有。

然后自己搜索了一下,找到这个 <-请点击,可看出PersistenceExceptionTranslator这个类已经在spring-tx里了,在你下载的spring框架的lib文件夹里找到spring-tx.jar引用即可。