用了struts框架了,为什么取数据时还要用request.getParameter()呢。
我猜是int id = Integer.parseInt(request.getParameter("id"));的问题,id应该是序列,如果是添加操作id一般是从数据库取的,前台页面不会提供id的输入,所以取到的可能是null或空字符串,转换时报错了
public ActionForward doupdate(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) {
UserInfo userInfoForm = (UserInfo) form; //这个是86行么???????
int id = Integer.parseInt(request.getParameter("id"));
如果是的话那问题不是很明显么?form的类型是UserInfoForm,而你把它强制转换为UserInfo。
要想进一步深入的话你可以看看容器的日志,日志里面更详细,比如我造出的异常,java.lang.ClassCastException: java.util.Random cannot be cast to java.lang.String
at study.skad.test.TempTest.test(TempTest.java:20)
很明显就可以看出问题所在。
实在不行还可以把86行的那个对象打印出来看看他的类型到底是什么。总之,不是很难的问题。
去看看你的UserInfoForm 这个类是不是继承了ActionForm,
如果没继承就会出现ClassCastException
UserInfoAction.java:86 ---- UserInfoAction 这里边86行代码错误
原因为java.lang.ClassCastException: entity.UserInfoForm
UserInfoForm中 类型转换 的问题
我的理解也就是这样,同样是新手 提供点意见