<%@page contentType="text/html;charset=gb2312"%>
<html>
<body>
<h1>
我的简易计算器
</h1>
<form name="form1" action="???">
请输入第一个数:
<br>
<input type="text" name="num1">
<br>
请选择运算符号:
<br>
<select name="flag">
<option value=+>
+
</option>
<option value=->
-
</option>
<option value=*>
*
</option>
<option value= />
/
</option>
</select>
<br>
请输入第二个数:
<br>
<input type="text" name="num2">
<br>
<input type="submit" value="计算">
</form>
<%
String snum1 = request.getParameter("num1");
String snum2 = request.getParameter("num2");
String flag = request.getParameter("flag");
int num1 = 0;
int num2 = 0;
int result = 0;
num1 = Integer.parseInt(snum1);
num2 = Integer.parseInt(snum2);
if (flag.equals("+")) {
result = num1 + num2;
} else if (flag.equals("-")) {
result = num1 - num2;
} else if (flag.equals("*")) {
result = num1 * num2;
} else {
result = num1 / num2;
}
out.print(result);
%>
</body>
</html>这个参数该怎么传递才正确呢,下面的代码貌似得不到传的参数啊!!!

解决方案 »

  1.   

    直接在界面这样写就可以拿到参数了
    <%=result%>
      

  2.   

    把你的action的路径写成自身的路径。要不就把你那段java代码抽出来放到其他页面,把action的路径指向他就可以得到你想要的参数了,然后把结果输出出来。如果你像输出到原页面请使用respone.redirect(url?+result)方法转发。在你原来的页面要用{request.getParameter("result")}就可以拿到结果了祝你好运!
      

  3.   


    嗯,我的思路就是  把num1和num2以及flag传到java代码段(这样我就能进行计算了,然后输出)貌似这个<%=result%> 是计算以后么?
    是response么?response.redirect这个方法request.getParameter可以在两个jsp页面传,不过我现在要做的是必须在同一个页面   不知道该怎么传呢???
      

  4.   


    <%@page contentType="text/html;charset=gb2312"%>
    <html>
    <body>
    <h1>
    我的简易计算器
    </h1>
    <form name="form1" action="???">
    请输入第一个数:
    <br>
    <input type="text" name="num1">
    <br>
    请选择运算符号:
    <br>
    <select name="flag">
    <option value=+>
    +
    </option>
    <option value=->
    -
    </option>
    <option value=*>
    *
    </option>
    <option value= />
    /
    </option>
    </select>
    <br>
    请输入第二个数:
    <br>
    <input type="text" name="num2">
    <br>
    <input type="submit" value="计算">
    </form>
    <%="num1" %>
    <%="num2" %>
    <%="flag" %>
    <%
    int n1 = 0;
    int n2 = 0;
    int result = 0;
    String f="";
    f="flag";
    n1 = Integer.parseInt("num1");
    n2 = Integer.parseInt("num2");
    if (f.equals("+")) {
    result = n1 + n2;
    } else if (f.equals("-")) {
    result = n1 - n2;
    } else if (f.equals("*")) {
    result = n1 * n2;
    } else {
    result = n1 / n2;
    }
    out.print(result);
    %>
    </body>
    </html>
    这样传么
      

  5.   


    <%@page contentType="text/html;charset=gb2312"%>
    <html>
    <body>
    <h1>
    我的简易计算器
    </h1>
    <%
    String snum1 = request.getParameter("num1");
    String snum2 = request.getParameter("num2");
    String flag = request.getParameter("flag");
    int num1 = 0;
    int num2 = 0;
    int result = 0;
    if (snum1 != null && snum2 != null && flag != null) {
    num1 = Integer.parseInt(snum1);
    num2 = Integer.parseInt(snum2);
    if (flag.equals("+")) {
    result = num1 + num2;
    } else if (flag.equals("-")) {
    result = num1 - num2;
    } else if (flag.equals("*")) {
    result = num1 * num2;
    } else {
    result = num1 / num2;
    }
    }
    %> <form name="form1" action="myCal.jsp">
    请输入第一个数:
    <br>
    <input type="text" name="num1">
    <br>
    请选择运算符号:
    <br>
    <select name="flag">
    <option value=+>
    +
    </option>
    <option value=->
    -
    </option>
    <option value=*>
    *
    </option>
    <option value= />
    /
    </option>
    </select>
    <br>
    请输入第二个数:
    <br>
    <input type="text" name="num2">
    <br>
    <input type="submit" value="计算">
    </form>
    计算的结果是:<%=result%> </body>
    </html>这样解决了