javaWeb:jsp フォーム入力とジャンプフォワードとパラメータの使用

単純な javaweb プロジェクト トピックを作成します。

少なくとも 3 つの JSP プログラム、input.jsp、ok.jsp、error.jsp を含む javaweb プロジェクトを作成します。input.jsp ページにはフォームがあり、ユーザーはこのフォームを使用して 20 以内の正の整数を入力し、それを ok.jsp ページに送信して計算し、結果を表示できます (例: input 5、calculate 1!)。+2! +...+5! ; 入力が要件を満たしていない場合は、error.jsp に進みます。forward タグは、param サブタグを使用してリダイレクトされた ok.jsp ページに整数を渡し、forward タグの実装時に関連する入力エラーをリダイレクトされた error.jsp ページに渡すために必要です。

コード:

入力.jsp:

<%@ page contentType="text/html;charset=UTF-8" language="java" %>

<html>
<head>
    <title>输入</title>
</head>
<body>
//表单输入:
<form action="input.jsp" >
    请输入一个20以内的整数:<input type="text" name="num"/>
    <input type="submit" value="提交"/>
</form>
//判断和跳转:
   <%  if(request.getParameter("num")!=null)
   //request.getParameter用于输入String类型{
       int a=0;
       String s="输入错误,请重新输入!";
       a= Integer.parseInt(request.getParameter("num"))
    //Interger.parseInt用于将String类型转换为Int;
       if(a>=20){
   %>
   <%request.setCharacterEncoding("UTF-8");%>
   //这个一定要申明,否则下面的string类型输出时会出现乱码。
   <jsp:forward page="error.jsp">
  //<jsp:forward page="relativeURL"/>跳转到指定页面
       <jsp:param name="mistake" value="<%=s%>"/>
  //param的name填名称,value可以直接填值或变量,但填变量要以<%=java变量名%/>
   </jsp:forward>
   <%
   }else{
   %>
   <jsp:forward page="ok.jsp">
       <jsp:param name="number" value="a"/>
   //这里的的a是int类型,我在使用时是可行的。
   </jsp:forward>
   <%
       }}
   %>
  /*
    如果要用java代码包含其他代码只有将每部分Java代码用<%代码 %>包起来。
  */
</body>

</html>

ok.jsp:

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>输出</title>
</head>
/*JSP脚本元素的声明标识:
格式:
<%!
  定义变量或方法等
%>
*/
<%!
    public  int print(int n){
        int c=0 ,d;
        for(int i=1;i<=n;i++) {
            d=1;
            for(int j=1;j<=i;j++){
                d=d*j;
            }
            c=c+d;
        }
        return  c;
    }
%>
<body>
<%
    String x=request.getParameter("number");
    //接受param的值。
    int n=0;
    if(x !=null){//判断输入的是否不为空
        //把用户输入的数字String类型转换为int类型并赋值给变量n
        n = Integer.parseInt(request.getParameter("num"));
    }

     out.println("到"+n+"阶乘和"+print(n));//输出



%>
</body>
//JSP的表达式输出<%="到"+n+"阶乘和"+print(n)%>
</html>

エラー.jsp


<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>输入错误</title>
</head>
<body>
      <%
          String y=request.getParameter("mistake");

      %>
</body>
     <%=y%>
</html>

上記はあくまで参考用です

おすすめ

転載: blog.csdn.net/m0_62321937/article/details/123562421