问题1,用grid显示list<xxx>的数据,可是时间显示的只是日期而没有时间,存的时候用的是chenillekit 包
原因是: 没有用dateformater改变日期格式,
缺点:显示出来的是simpleDateFormat.format(Date date) 的字符串而不是date.
问题2,想要在放在block中的form里边添加<t:errors/>,so I add an
@Component
private Form xxForm,
However, exception occurs and indicates that the form I just defiend is not represented in the template (tml) file.
solution: change all form tag in template file from <t:form bla bal> to <form t:type="form" t:id="xxForm">
and do know why is it, it just work now
Question
一个程序在运行中,有sessionstateobject,当我把本地文件拷贝到服务器上面时,如果不重新启动服务器,会有page is dirty, and not be put back to page pool and need to be discarded,
Question
在用Hibernate进行查询时,出现这样的错误:
Exception in thread "main" java.lang.NoClassDefFoundError: antlr/ANTLRException
郁闷了很久,因为以前一直这样做没什么问题啊,且Insert都正常,搞了半天,原来是Hibernate3.0与2.0有所不同
增加了antlr-2.7.6.jar这个包,将这个包加上就OK了!
Question
@Inject注入只能在页面和class中使用
Question
出现这种问题是因为HQL语句出现问题,引起内部查询对象为空,无法处理为空值引起的。解决方法,检查HQL语句(尤其是关键字)。
Question3:
If I do not add the valueEncoder to the loop, it will show error messages below
org.apache.tapestry5.runtime.ComponentEventException
Could not find a coercion from type java.lang.String to type com.org.model.Fl2010Answer. Available coercions: Double --> Float, Float --> Double, Long --> Boolean, Long --> Byte, Long --> Double, Long --> Integer, Long --> Short, Number --> Long, Object --> Object[], Object --> String, Object --> java.util.List, Object[] --> java.util.List, String --> Boolean, String --> Double, String --> Long, String --> java.io.File, String --> java.math.BigDecimal, String --> java.math.BigInteger, String --> java.text.DateFormat, String --> java.util.regex.Pattern, String --> org.apache.tapestry5.Renderable, String --> org.apache.tapestry5.SelectModel, String --> org.apache.tapestry5.corelib.LoopFormState, String --> org.apache.tapestry5.corelib.data.BlankOption, String --> org.apache.tapestry5.corelib.data.GridPagerPosition, String --> org.apache.tapestry5.corelib.data.InsertPosition, String --> org.apache.tapestry5.ioc.Resource, String --> org.apache.tapestry5.ioc.util.TimeInterval, boolean[] --> java.util.List, byte[] --> java.util.List, char[] --> java.util.List, double[] --> java.util.List, float[] --> java.util.List, int[] --> java.util.List, java.math.BigDecimal --> Double, java.util.Collection --> Boolean, java.util.Collection --> Object[], java.util.Collection --> org.apache.tapestry5.grid.GridDataSource, java.util.List --> org.apache.tapestry5.SelectModel, java.util.Map --> org.apache.tapestry5.SelectModel, long[] --> java.util.List, null --> Boolean, null --> org.apache.tapestry5.grid.GridDataSource, org.apache.tapestry5.ComponentResources --> org.apache.tapestry5.PropertyOverrides, org.apache.tapestry5.PrimaryKeyEncoder --> org.apache.tapestry5.ValueEncoder, org.apache.tapestry5.Renderable --> org.apache.tapestry5.Block, org.apache.tapestry5.Renderable --> org.apache.tapestry5.runtime.RenderCommand, org.apache.tapestry5.ioc.util.TimeInterval --> Long, org.apache.tapestry5.runtime.ComponentResourcesAware --> org.apache.tapestry5.ComponentResources, short[] --> java.util.List.
Answer: the value encoder
/**
*/
package com.org.util;
import java.util.List;
import org.apache.tapestry5.ValueEncoder;
import com.org.model.Fl2010Answer;
import com.org.model.Fl2010Questions;
/**
* 创 建 人: xxx
* 生成日期 : Jun 3, 2010
*/
public class AnswerValueEncoder implements ValueEncoder
{
private List<Fl2010Answer> list;
public AnswerValueEncoder(List<Fl2010Answer> list){
this.list = list;
}
/* (non-Javadoc)
* @see org.apache.tapestry5.ValueEncoder#toClient(java.lang.Object)
*/
public String toClient(Object arg0) {
if(list != null){
Fl2010Answer p = (Fl2010Answer)arg0;
for(Fl2010Answer v:list){
if(v.getId().longValue() == p.getId().longValue())
return v.getId().toString();
}
}
return null;
}
/* (non-Javadoc)
* @see org.apache.tapestry5.ValueEncoder#toValue(java.lang.String)
*/
public Object toValue(String arg0) {
Long id = new Long(arg0);
if(list != null){
for(Fl2010Answer v:list){
if(v.getId().longValue() == id.longValue())
return v;
}
}
return null;
}
}
Question 4
如果一个变量已经声明 @Property
下面在定义这个变量的getters and setters, will cause exception
Question 5
如果session state object 没有被初始化就被使用的话,会产生一个叫没有implement interface B]的exception
Question 6
oracle中大文字量的处理
这几天被oracle中的clob字段搞得心烦意乱,在数据库中有字段content,在hibernate中配置文件如下:
- <property name= "content" type= "text" lazy= "true" >
- <column name="CONTENT" />
- </property>
<property name="content" type="text" lazy="true">
<column name="CONTENT" />
</property>
使用了ojdbc14.jar这个oracle10G的数据库驱动以后,可以把clob当成string直接操作,但是在hibernate里使 用text类型来映射,在pojo类中还是直接使用string.
查了网上很多资料,许多都是要使用流操作来操作clob,这个对于hibernate不好用。
按以上配置好后,在插入数据还是保存,错误如下:
- java.sql.SQLException: ORA- 01483 : DATE 或 NUMBER 赋值变量的长度无效
java.sql.SQLException: ORA-01483: DATE 或 NUMBER 赋值变量的长度无效
郁闷了很久,结果最后发现,当插入String字段在1001至2000长度时会报这个错误,当长度不在这个区间就不会出这种问题,现在的办法是 把插入字段在1001至2000时,添加空格增加长度,这样就不会报错。
当取出来显示时就用trim就OK了。
ojdbc14.jar可以兼容至oracle8 ,但8需要打补丁。
Question 7
Tomcat在启动时出现如下异常问题:
严重: IOException while loading persisted sessions: java.io.EOFException
严重: Exception loading sessions from persistent storage
是因为保存在硬盘上的session数据读取失败,问题似乎不大,但是如果不处理一下,每次启动都会出现这个问题,处理方法如下:
将work下面的文件清空,主要是*.ser文件,或者只是删除掉session.ser亦可。
Question 8
如果出现如下错误,则可能是Hibernate SQL方言 (hibernate.dialect)设置不正确。
Caused by: java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC][SQLServer]'last_insert_id' 不是可以识别的 函数名。
RDBMS | 方言 |
---|
DB2 | org.hibernate.dialect.DB2Dialect |
DB2 AS/400 | org.hibernate.dialect.DB2400Dialect |
DB2 OS390 | org.hibernate.dialect.DB2390Dialect |
PostgreSQL | org.hibernate.dialect.PostgreSQLDialect |
MySQL | org.hibernate.dialect.MySQLDialect |
MySQL with InnoDB | org.hibernate.dialect.MySQLInnoDBDialect |
MySQL with MyISAM | org.hibernate.dialect.MySQLMyISAMDialect |
Oracle (any version) | org.hibernate.dialect.OracleDialect |
Oracle 9i/10g | org.hibernate.dialect.Oracle9Dialect |
Sybase | org.hibernate.dialect.SybaseDialect |
Sybase Anywhere | org.hibernate.dialect.SybaseAnywhereDialect |
Microsoft SQL Server | org.hibernate.dialect.SQLServerDialect |
SAP DB | org.hibernate.dialect.SAPDBDialect |
Informix | org.hibernate.dialect.InformixDialect |
HypersonicSQL | org.hibernate.dialect.HSQLDialect |
Ingres | org.hibernate.dialect.IngresDialect |
Progress | org.hibernate.dialect.ProgressDialect |
Mckoi SQL | org.hibernate.dialect.MckoiDialect |
Interbase | org.hibernate.dialect.InterbaseDialect |
Pointbase | org.hibernate.dialect.PointbaseDialect |
FrontBase | org.hibernate.dialect.FrontbaseDialect |
Firebird | org.hibernate.dialect.FirebirdDialect |