JSP页面提交表单  
后台Action接收Action里的变量是int型的
JSP提交字符型的会报错那JSP表单里什么也没填,提交过来怎么也报错有什么解决办法?

解决方案 »

  1.   

    提交字符型的,那后台int型的肯定会报错,类型不一样啊!、
    什么都没填的话,你后台接收的那个int类型也去掉就报错啦!
    你肯定是后台的那个接收参数还没删掉
      

  2.   

    那需要保留Action那里的int类型JSP提交表单(表单可填可不填)如何让后台不报错
      

  3.   

    后台用String str=request.getParameter("");接收,然后做判断
    如果不为null或不为空,则用
    int i=Integer.parseInt(str);进行转换
      

  4.   

    把 int 改为 Long  或者 自定义一个类型转换类~~
      

  5.   

    为什么一定要用int型的呢 声明为String类型 然后在程序里转换成int就是了啊..何必这么麻烦
      

  6.   

    Struts2 把数据封装在一个form里面你action里面封装一个对象
    例如 private StudentInfo studentInfo
    get
    set方法,
    页面
    <input type="text" name="studentInfo.name">
    等等这样,你放在一个form里面
     action 就写你的action就OK了
      

  7.   

    一般对应的都是String类型的,如果你要用int类型,进行转换一下就可以了、
      

  8.   


    这种是可行的,但是如果输入的值为非数字就会出错。否则是正常的。。或者你从后台prepare先获取,然后再set
      

  9.   

    确定你action中的成员变量已经设置了get/set方法,另外确认你的struts.xml中action所在的package已经extends了struts-default包或者自己设置了拦截器栈。然后在jsp页面中的表单中将表单的name属性值设置为你action中成员变量的名字(主要还是要和get/set方法匹配)。
    例如:action中的变量为 private String name;那么在jsp中<input type="text" name="name"/>
    如果action的接收值的是javabean对象,例如:private User user;那么jsp页面中<input type="text" name="user.name"/>或者使用modeldriven。这样的话应该不会出问题的,对于基本数据类型和Strng,struts2内置的类型转换器是可以转换的,无需手动编写转换器。报错的话你看是报什么错,提示还是比较清楚的,一般都是name没有对应上或者是没有get/set方法。