JSP <jsp:include> 动作标记:传递参数并包含页面
使用 <jsp:include> 动作标记包含其他 JSP 页面并传递参数
非常抱歉之前的误导。 如果您想要使用 <jsp:include> 动作标记来包含其他 JSP 页面并传递参数,您可以按照以下方式进行修改。
main.jsp
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>Main Page</title>
</head>
<body>
<h1>Main Page</h1>
<jsp:include page="circle.jsp">
<jsp:param name="radius" value="5" />
</jsp:include>
<jsp:include page="ladder.jsp">
<jsp:param name="upperBase" value="3" />
<jsp:param name="lowerBase" value="5" />
<jsp:param name="height" value="8" />
</jsp:include>
</body>
</html>
circle.jsp
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>Circle Page</title>
</head>
<body>
<h2>Circle Page</h2>
<%!
double calculateCircleArea(double radius) {
return Math.PI * radius * radius;
}
%>
<%
double radius = Double.parseDouble(request.getParameter("radius"));
double area = calculateCircleArea(radius);
%>
<p>Radius: <%= radius %></p>
<p>Area of Circle: <%= area %></p>
</body>
</html>
ladder.jsp
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>Ladder Page</title>
</head>
<body>
<h2>Ladder Page</h2>
<%!
double calculateLadderArea(double upperBase, double lowerBase, double height) {
return (upperBase + lowerBase) * height / 2;
}
%>
<%
double upperBase = Double.parseDouble(request.getParameter("upperBase"));
double lowerBase = Double.parseDouble(request.getParameter("lowerBase"));
double height = Double.parseDouble(request.getParameter("height"));
double area = calculateLadderArea(upperBase, lowerBase, height);
%>
<p>Upper Base: <%= upperBase %></p>
<p>Lower Base: <%= lowerBase %></p>
<p>Height: <%= height %></p>
<p>Area of Ladder: <%= area %></p>
</body>
</html>
在这个修改后的代码中,我们在 circle.jsp 页面和 ladder.jsp 页面中定义了一个用于计算面积的函数。然后,我们在页面的 <% %> 脚本块中调用这些函数来计算面积。通过这种方式,我们可以更好地组织代码并避免异常。
请确保这三个 JSP 页面在同一 Web 服务目录中,并通过访问 main.jsp 页面来查看结果。
原文地址: https://www.cveoy.top/t/topic/cd5l 著作权归作者所有。请勿转载和采集!