include和param动作标记的应用
题目描述: 编写JSP页面input.jsp、first.isp 和second.jsp,将3个JSP文件保存在同一个Web服务目录中,input.jsp 使用include 动作标记加载frst.jsp和second.jsp页面。first.jsp 页面可以画出一个表格,second.jsp 页面可以计算出两个正整数的最大公约数。当first.jsp被加载时获取input.jsp页面中include动作标记的param子标记提供的表格的行数和列数,当second.jsp被加载时获取input.jsp页面中include 动作标记的param子标记提供的两个正整数的值。
input.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>input</title>
</head>
<body>
<font color="blue">加载first.jsp页面❀出表格和second.jsp页面计算两个数值的最大公约数</font>
<hr width="100%" size="1" color="green">
<jsp:include page="first.jsp">
<jsp:param value="10" name="row"/>
<jsp:param value="15" name="col"/>
</jsp:include>
<hr width="100%" size="1" color="green">
<jsp:include page="second.jsp">
<jsp:param value="12" name="data1"/>
<jsp:param value="30" name="data2"/>
</jsp:include>
</body>
</html>
first.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>first</title>
</head>
<body>
<%
String m=request.getParameter("row");
String n=request.getParameter("col");
double a=Double.parseDouble(m);
double b=Double.parseDouble(n);
out.println("<br>"+"打印一个"+a+"*"+b+"的表格"+"<br>");
int k=1; //给每一个格子赋值
out.print("<table border=2px>");
for(int i=0;i<a;i++){ //打印表格,使用双重循环
out.print("<tr>");
for(int j=0;j<b;j++){
out.print("<td>"+ k++ +"</td>");
}
out.print("</tr>");
}
out.print("</table>");
%>
</body>
</html>
second.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>second</title>
</head>
<body>
<%
String m=request.getParameter("data1");
String n=request.getParameter("data2");
double a=Double.parseDouble(m);
double b=Double.parseDouble(n);
if(a<b){ //将大数交换给a
double t;
t=a;
a=b;
b=t;
}
double t1=0; //穷举法找出最大公约数赋值给t1;
for(double i=1;i<b;i++){
if(a%i==0&&b%i==0)
t1=i;
}
out.print(m+"和"+n+"最大公约数是"+t1+"<br>"+"<br>"+"<br>");
%>
</body>
</html>
运行结果: