我做了两个小页面是这样的:一个页面里有两个文本框,用户在文本框中分别输入了数字,按提交按钮后,会跳转到下一个页面:这个页面有一个文本框,它主要是计算用户提交的两个数的和。我把第一个页面做成一个.html的静态页面,第二个页面做成一个.jsp的页面,运行时按了提交按钮,出现第二个页面的文本框只是以上输入两个数的合并,并没有实现两个数相加功能。请各位高手赐教!谢谢啦……

解决方案 »

  1.   

    request默认的数据类型是String 要把它转换成非String的<%
    int m=Integer.parseInt(request.getParameter("text1"));
    int n=Integer.parseInt(request.getParameter("text2"));
    %>
      

  2.   

    补充一下
    <%
      int m = 0;
      try {
        m = Integer.parseInt(request.getParameter("text1"));
      } catch (Exception ex) {
        out.print("第一个输入的不是数字!");
      }
      int n = 0;
      try {
        n = Integer.parseInt(request.getParameter("text2"));
      } catch (Exception ex) {
        out.print("第二个输入的不是数字!");
      }
      out.print(m + "+" + n + "=" + (m + n));
    %> 
      

  3.   

    <% 
    int   m=Integer.parseInt(request.getParameter("text1")); 
    int   n=Integer.parseInt(request.getParameter("text2")); 
    %> 
    此种方法容易出现错误 当request.getParameter("text1")=8的时候parseInt后就不是8了 
    所以最好后面加上转成对应多少进制的数
    <% 
    int   m=Integer.parseInt(request.getParameter("text1"),10); 
    int   n=Integer.parseInt(request.getParameter("text2"),10); 
    %> 
      

  4.   

    用Integer.parseInt(request.getParameter("text1"));时
    当request.getParameter("text1")为""(空)或者为null或者request.getParameter("text1")得到的不是数字字符串时会报异常.应该做对应的操作..
     int m = 0;
      try {
        m = Integer.parseInt(request.getParameter("text1"));
      } catch (Exception ex) {
        out.print("...........内容..");
      }
      int n = 0;
      try {
        n = Integer.parseInt(request.getParameter("text2"));
      } catch (Exception ex) {
        out.print("...........内容..");
      }
      out.print(m + "+" + n + "=" + (m + n));
      

  5.   

    我建议在输入数字页面进行是否为数字的判断
    var uSize=document.form名字.文本框名.value;
    if(!/^[1-9]\d*/.test(size)){
    alert('请输入正整数');
    document.form名字.文本框名.focus();
    在接收处进行是否为空的判断....如上..
      

  6.   

    主要就是Integer.parseInt了,其他的白费,当然trim前后空格和check是不是数字还是有必要的。