不明白的老问题:
java.lang.ClassCastException: java.lang.Integer一个简单的页面register.jsp包含:
。。。。。
<tr><td><bean:message key="user.age"/> </td><td><html:text property="age"/><html:errors property="age"/></td></tr>
<tr><td><bean:message key="user.sex"/></td><td><html:radio property="sex" value="1">男</html:radio> <html:radio property="sex" value="0">女</html:radio></td></tr>
。。。。。
对应的POJO:
private int age;
public void setAge(int age) {
this.age = age;
}
public String getAddress() {
return this.address;
}
hbm.xml:
<property name="age" type="java.lang.Integer">
<column name="AGE" precision="22" scale="0" />
</property>
Action中:
//System.out.println("============"+sf.getString("age"));
int age =20;
users.setAge(age);
users.setAddDate(new Date());
daoImpl.save(users);
如果这样初始化age则可以保存成功。
ORACLE中对应表的AGE字段属性为NUMBER型。
如果把//System.out.println("============"+sf.getString("age"));前面的注释去掉,
则会报错:
javax.servlet.ServletException: java.lang.Integer
org.apache.struts.action.RequestProcessor.processException(RequestProcessor.java:535) org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:433)
org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:236)
org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196)
org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:432)
javax.servlet.http.HttpServlet.service(HttpServlet.java:647)
javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
获取不到sf.getString("age"))的值,用sf.getString("age").toString()也获取不到值;为什么?
------解决方案--------------------sf.getInt("AGE");
------解决方案--------------------private int age;
public void setAge(int age) {
this.age = age;
} 改成
private Integer age;
public void setAge(Integer age) {
this.age = age;
}
------解决方案--------------------private int age;
public void setAge(int age) {
this.age = age;
}
改成
private Integer age;
public void setAge(Integer age) {
this.age = age;
}
public void gettAge() {
return this.age ;
}
------解决方案--------------------int 改为Integer 表和实体映射时候 只识别包装类 不然会出先错误
------解决方案--------------------
------解决方案--------------------struts1现在还有市场吗?
------解决方案--------------------请问下sf是什么
是不是应该这么写sf.getAge()?
还有actionform里应该有这些代码
private int age;
public void setAge(int age){
this.age=age;
}
public int getAge(){
return age;
}
------解决方案--------------------