javaWeb:jsp的表单输入和跳转forward及param的使用

此博客介绍了如何创建一个简单的JavaWeb项目,包括input.jsp、ok.jsp和error.jsp三个页面。input.jsp提供表单供用户输入20以内的正整数,提交后ok.jsp进行计算阶乘和并显示结果,若输入无效则转向error.jsp展示错误信息。项目中使用了jsp:forward和jsp:param标签进行页面间的数据传递。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

编写简单javaweb项目题目:

编写javaweb项目,至少包括3个JSP程序,input.jsp、ok.jsp、error.jsp。其中input.jsp页面有一个表单,用户使用该表单可以输入一个20以内的正整数,并提交给ok.jsp页面,进行计算,并显示结果,例如:输入5,就计算1!+2!+…+5!;如果输入不符合要求就转向error.jsp。要求forward标记在实现页面转向时,使用param子标记将整数传递到转向的ok.jsp页面,将有关输入错误传递到转向的error.jsp页面。

代码:

input.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>

error.jsp


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

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

以上仅供参考

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值