题目:
设计求任意两个整数和的
Web
程序,要求,用户通过提交页面(
input.jsp
)输入两
个整数,并提交给一个
sum.jsp
程序,在
sum.jsp
中计算这两个数的代数和,如果代数和
为非负数,则跳转到
positive.jsp
页面,给出“结果为正!”信息提示并显示计算结果
,否则跳转到
negative.jsp
页面,给出“结果为负!”信息提示并显示计算结果。
设计思想:
共四个jsp文件,各功能如题目所示
代码如下:
input.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>接受两个整数</title>
</head>
<body>
<form action="sum.jsp" name="list1">
数据1:<input type="text" name="number1"/>
<br/>
数据2:<input type="text" name="number2"/>
<br/>
<input type="submit" value="确认"/>
<br/>
</form>
</body>
</html>
sum.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>接受两个整数并求和</title>
</head>
<body>
<!-- 如何解决变量域的问题,使positive.jsp中可以获得和并输出 -->
<%!Integer sum; %>
<%
Integer num1=Integer.parseInt(request.getParameter("number1"));
Integer num2=Integer.parseInt(request.getParameter("number2"));
sum=num1+num2;
%>
<% out.println("两数的和是"+sum);%>
<%
if(sum>=0){%>
<%@include file="positive.jsp" %>//关键
<%}else{%>
<%@include file="negative.jsp" %>
<%} %>
positive.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>显示和</title>
</head>
<body>
<%
out.print("结果为正");
%>
</body>
</html>
negative.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>显示和</title>
</head>
<body>
<%
out.print("结果为负");
%>
</body>
</html>
总结:
起初我在sum.jsp中使用<jsp:forward>来进行跳转,但是导致了最终的和无法显示出来,尝试过考虑变量域的问题,但没多大关系,最终我采用了include指令来在sum.jsp中将被包含文件positive.jsp(或者negative.jsp)进行插入的方式,使其共同编译为一个文件,这样才实现了两者的共同显示。若有更好思路,希望评论区提出,共勉,谢谢!