问题
Org.objectweb.asm.ClassVisitor方法visit问题
原因
在Spring2.0 Aop包中有一个asm2.2.3.jar包把hibernate中asm.jar的ClassVisitor覆盖掉了..
解决方法
把Spring2.* Aop中的asm2.2.3.jar删除
特殊说明
问题
Destroying singletons in
org.springframework.beans.factory.support.DefaultListableBeanFactory@1be8bf1: defining
beans [hbFactory,transaction,SysUserDAO,SysTradeDAO,
SysOrgDAO,SysUserProxy,SysTradeProxy,SysOrgProxy]
原因
开始原因为缺少了个jta.jar
解决方法
添加jta.jar到classpath
特殊说明
问题
页面中使用datetimepicker
原因
解决方法
在页面中加入标签引用,将struts-dojo-plugin-2.*.*.jar里面的struts-dojo-tags.tld文件复制到运行路径下,然后在要使用的jsp文件中加入
<%@ taglib prefix="dojo" uri="/struts-dojo-tags.tld" %>
特殊说明
问题
Freemarker中使用国际化
原因
解决方法
<@s.i18n name="action.package">指定包和位置
<@s.text name="HelloWorld" />
</@s.i18n>
转换的方法,进入控制台,然后进入要编译的文件下,输入转换的代码和文件
E:/temp>native2ascii -encoding gb2312 aa.txt aaa.txt
很奇怪为什么用UTF-8后出来的是乱码呢?真是不明白
繁体中文的话用GBK,来自网上的信息
特殊说明
问题
Freemarker语法及注意
原因
解决方法
${var1} = 变量 var1的值
${var1!””} = 变量如果不存在则显示””
特殊说明
问题
页面中使用frame实现导航栏的问题
原因
在用户的session失效时返回重新登录页面
解决方法
在页面中加入
//防止被人frame. <SCRIPT. LANGUAGE=javascript><!-- if (top.location != self.location)top.location=self.location; // --></SCRIPT>
特殊说明
问题
mysql5中的浮点数问题
原因
出现’246错误
解决方法
更新mysql连接包为mysql-connector-java-5.1.6-bin.jar
特殊说明
问题
Freemarker数字格式化问题
原因
显示超过4位时 2,009 不正常显示2009和小数点问题
解决方法
${num?c} 和 ${num?string}
特殊说明
如果从数据库取出一个0.22的数值,一般的输出${x?if_exists?html}, 这时是显示0,而不是0.22。 应该写成${x?if_exists?string.number} 或者 ${x?if_exists.toString()?html}
<#assign x = 1.234> ${x?string("0")} ${x?string("0.#")} ${x?string("0.##")} ${x?string("0.###")} ${x?string("0.####")} ${1?string("000.00")} ${12.1?string("000.00")} ${123.456?string("000.00")} ${1.2?string("0")} ${1.8?string("0")} ${1.5?string("0")} <-- 1.5, rounded towards even neighbor ${2.5?string("0")} <-- 2.5, rounded towards even neighbor ${12345?string("0.##E0")} outputs this: 1 1.2 1.23 1.234 1.234 001.00 012.10 123.46 1 2 2 <-- 1.5, rounded towards even neighbor 2 <-- 2.5, rounded towards even neighbor 1.23E4
问题
Unable to load configuration. - bean - jar:和程序无法启动
原因
解决方法
有的书籍上描述的一个struts2工程需要加载的类过少,就导致这种问题,也就是说你加载的类少了,忘记是那本书了,struts2.0.4 好像是这个版本,他上面介绍的只需要加载commons-logging-版本.jar ,log4j.jar(非必须) ,ognl.jar ,xwork-core,jar ,struts2-core.jar ,commons-io.jar我只是简单的写了jar的名字,但是就跟一个名字一样,版本的位置有版本后,我后面的名字都省略了,但是其实上面介绍的jar是远远不够得,如果你是按这种jar加载的话,就会引起上面的异常,比较容易忽视的jar 为commons-fileupload-版本.jar和freemarker-版本.jar,其实这2个jar也是struts2必须的jar
特殊说明
Xecrs.jar的问题
问题
Xecrs.jar的问题
原因
Myelcipse中的包版本跟tomcat中的包的版本不一样
解决方法
删除程序中的Xecrs.jar
特殊说明
Fckeditor错误问题
问题
Fckeditor无法进行replacetextarea
原因
在web.xml中的Fckeidtor的访问路径问题, 无法访问
解决方法
注:注意FCKeditor是不支持虚拟目录的,你的所有路径都是针对网站根目录的绝对路径。所以要在使用的应用前加上对应的程序路径。
或者修改fckeditor.js的
特殊说明
问题
org.apache.catalina.core.StandardWrapperValve invoke
原因
在<#include '/templates/pages.ftl' encoding="UTF-8" parse="true" /> 中不能使用应用的名称在前面
解决方法
在<#include '/templates/pages.ftl' encoding="UTF-8" parse="true" /> 中不能使用应用的名称在前面
特殊说明
2010-6-12 16:52:15 org.apache.catalina.core.StandardWrapperValve invoke
严重: Servlet.service() for servlet default threw exception
java.lang.IllegalStateException
at org.apache.catalina.connector.ResponseFacade.sendError(ResponseFacade.java:407)
at org.apache.struts2.dispatcher.Dispatcher.sendError(Dispatcher.java:725)
at org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:485)
at org.apache.struts2.dispatcher.FilterDispatcher.doFilter(FilterDispatcher.java:395)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:849)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:454)
at java.lang.Thread.run(Thread.java:619)
问题
在操作数据的时候经常不小心直接修改源数据
原因
我们要用a2保存a1对象的数据,但又不希望a2对象数据被改变时不影响到a1。实现clone()方法是其一种最简单,也是最高效的手段。
解决方法
1. public class A implements Cloneable {
2. public String name;
3.
4. public Object clone() {
5. A o = null;
6. try {
7. o = (A) super.clone();
8. } catch (CloneNotSupportedException e) {
9. e.printStackTrace();
10. }
11. return o;
12. }
13.
14. }
特殊说明
问题
连接数据库时出现无法连接或其他的问题could not instantiate CacheProvider: org.hibernate.
原因
不明。
解决方法
1. 在hibernate.cfg.xml中进行c3p0的配置
2.
特殊说明
问题
Could not open Hibernate Session for transaction
spring2.x+hibernate3+struts2 在首次登陆系统时抛出的异常,再登陆就正常
原因
异常:
javax.servlet.ServletException: org.springframework.transaction.CannotCreateTransactionException: Could not open Hibernate Session for transaction; nested exception is org.hibernate.TransactionException: JDBC begin failed:
root cause
org.springframework.transaction.CannotCreateTransactionException: Could not open Hibernate Session for transaction; nested exception is org.hibernate.TransactionException: JDBC begin failed:
解决方法
1.给jdbc url 增加 autoReconnect=true 一定能解决你的问题,可以定期观察一下 show processlist改进方法如下:<property name="url" value="jdbc:mysql://localhost/数据库实例名称?&useUnicode=true&characterEncoding=utf-8&autoReconnect=true"/>
2.寻找支持重连的连接池。 注意:c3p0连接池支持重连;重连参数是: idleConnectionTestPeriod 设置空闲连接测试周期 preferredTestQuery : 设置一查询语句,用于重连测试 testConnectionOnCheckin设置为true testConnectionOnCheckout设置为true
在sessionFactory里配置:
<property name="hibernateProperties"> <props><prop key="hibernate.autoReconnect">true</prop> </props></property>
特殊说明
在MySQL Command Line Client中执行show variables like '%timeout%'
问题
Struts2多文件上传及原文件名问题
原因
无法获取上传后的原文件名
解决方法
后台属性
private File[] upload ;
private String[] uploadContentType;
private String[] uploadFileName;
private String savePath = "uploads";
页面中的代码
<form action='${appurl!""}/request/uploadFile.action' method="post" enctype="multipart/form-data">
<input type="file" name="upload" />
<input type="file" name="upload" />
<input type="file" name="upload" />
<input type="submit" value="上传" />
</form>
特殊说明
问题
在文件中引用 product.lsCategory.cateName时出现错误
原因
在hibernate映射的文件中默认是lazy的属性为true
解决方法
特殊说明
问题
在类中使用boolean类型时,freemarker编译出错
原因
freemarker 不支持 boolean 类型 :Templates do break when an attribute contains a boolean value
解决方法
把类中的所有boolean类型转换成
Expecting a string, date or number here, Expression a.value is instead a freemarker.ext.beans.BooleanModel
特殊说明