ssh 架构 Struts2 类型转换失败
在ssh架构中,我把数据库中表的映射定义成了model,然后让这些model继承了一个共同的父类.由于是ssh架构,我想让这些model来对数据库进行持久化和接受acti...
在 ssh 架构中,我把数据库中表的映射定义成了 model ,然后让这些 model 继承了一个共同的父类.由于是 ssh 架构,我想让 这些 model 来对数据库进行持久化 和接受 action的请求,但是在 数据库中有 long 和date 类型,而 jsp 中的数据是 string 类型,这样就出现了类型转换失败的问题.我想问一下在什么地方能把 页面 上的 long 或 date 类型转换成后台需要的类型,或者在jsp 上能怎么写?
展开
4个回答
展开全部
说实话有时这个问题也纠结我很久,这个问题有时它会自动转换,但有时又不能回出现404错误
如果自动转换你也必须在Hibernate的hbm映射文件中这样指定
比如:<property name="buildStar" type="java.util.Date"></property>
如果不能自动转换的话,我平常使用的是把时间的那个属性先不要在页面的name值上写
实例化对象名.属性名 这个形式,可以任意取一个名,单独处理
然后在后台转换下就好了。
比如说你的时间的输入的<input> 的name属性为startdate
则在方法中这样处理:(仅供参考)
public String add(){
SimpleDateFormat sf=new SimpleDateFormat("yyyy-MM-dd");
try {
//转换为时间格式再赋给对象
room.setRoomDate(sf.parse(startdate));
} catch (ParseException e) {
e.printStackTrace();
}
RPMS_build build1 =new RPMS_build();
build1.setBuildId(checkRoomId);
build=rservice.selectbuildById(build1);
room.setBuild(build);
rservice.addRoom(room);
return SUCCESS;
}
如果自动转换你也必须在Hibernate的hbm映射文件中这样指定
比如:<property name="buildStar" type="java.util.Date"></property>
如果不能自动转换的话,我平常使用的是把时间的那个属性先不要在页面的name值上写
实例化对象名.属性名 这个形式,可以任意取一个名,单独处理
然后在后台转换下就好了。
比如说你的时间的输入的<input> 的name属性为startdate
则在方法中这样处理:(仅供参考)
public String add(){
SimpleDateFormat sf=new SimpleDateFormat("yyyy-MM-dd");
try {
//转换为时间格式再赋给对象
room.setRoomDate(sf.parse(startdate));
} catch (ParseException e) {
e.printStackTrace();
}
RPMS_build build1 =new RPMS_build();
build1.setBuildId(checkRoomId);
build=rservice.selectbuildById(build1);
room.setBuild(build);
rservice.addRoom(room);
return SUCCESS;
}
展开全部
在action中的定义相关属性,提供get、set方法,页面请求就会自动填充这些值
private String userName;
private Integer age;
...get、set方法省略
jsp:<input type="text" name="userName" value="xx">
<input type="text" name="age" value="20">
private String userName;
private Integer age;
...get、set方法省略
jsp:<input type="text" name="userName" value="xx">
<input type="text" name="age" value="20">
追问
这样做可以不会跳到 input 所指的 jsp 中,但是取到的值数 null ...还有什么办法吗? 还望不吝指教...
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
那就需要你自己配置拦截器了。具体的自己操作。 或者你自己写一个拦截器。用你写好的拦截器进行转换
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询