编写3个JSP页面:input.jsp、first.jsp和second.jsp,将3个JSP文件保存在同一个Web服务目录中,input.jsp使用include动作标记加载first.jsp和second.jsp页面。first.jsp页面可以画出一个表格,second.jsp页面可以计算出两个正整数的最大公约数。当first.jsp被加载时获取input.jsp页面中include动作标记的param子标记提供的表格的行数和列数,当second.jsp被加载时获取input.jsp页面中include动作标记的param子标记提供的两个正整数的值。
(1) input.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
使用include动作标记加载first.jsp页面,画出一个表格。<br>
<jsp:include page="first.jsp">
<jsp:param value="10" name="row"/>
<jsp:param value="20" name="col"/>
</jsp:include>
<br>
使用include动作标记加载second.jsp页面,求两个最大正整数的公约数。<br>
<jsp:include page="second.jsp">
<jsp:param value="64" name="firstNumber"/>
<jsp:param value="48" name="secondNumber"/>
</jsp:include>
</body>
</html>
(2) first.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<%
int row=Integer.parseInt(request.getParameter("row"));
int col=Integer.parseInt(request.getParameter("col"));
out.print("<table border=1>");
for(int i=1;i<=row;i++){
out.print("<tr>");
for(int j=1;j<=col;j++){
out.print("<td>");
out.print(i*j);
out.print("</td>");
}
out.print("</tr>");
}
out.print("</table>");
%>
</body>
</html>
(3) second.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<%
int firstNumber=Integer.parseInt(request.getParameter("firstNumber"));
int secondNumber=Integer.parseInt(request.getParameter("secondNumber"));
out.print("<br>"+firstNumber+"和"+secondNumber+"的最大公约数是:");
if(firstNumber<secondNumber){
int a=firstNumber;
firstNumber=secondNumber;
secondNumber=a;
}
while(firstNumber%secondNumber!=0){
int temp=firstNumber%secondNumber;
firstNumber=secondNumber;
secondNumber=temp;
}
out.print(secondNumber);
%>
</body>
</html>