我对这个问题感到非常困惑。我已经尝试了一切,但没有任何效果。
我希望能够获得音量并将其显示为param.volume。但是,如果我将其作为脚本执行,它将返回零。
我希望能够创建名为getVolume的getter方法,该方法在被调用时(方*方*方)返回多维数据集的体积。
我的getter方法是:
package servlets;
public class Cube {
private int side;
private int volume;
public void setVolume(int volume){
this.volume=volume;
}
public int getVolume() {
volume=side*side*side;
return volume;
}
public int getSide() {
return side;
}
public void setSide(int side) {
this.side = side;
}
}
在CalcServlet中:
package servlets;
import java.io.IOException;
import javax.servlet.RequestDispatcher;
import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
/**
* Servlet implementation class CalcServlet
*/
@WebServlet("/calc")
public class CalcServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
}
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String scube=request.getParameter("cube");
Cube obj=new Cube();
try{
int cube=Integer.parseInt(scube);
obj.setSide(cube);
obj.getVolume();
request.setAttribute("cube", obj);
}catch(NumberFormatException e){
}
ServletContext sc = this.getServletContext();
//RequestDispatcher rd = request.getRequestDispatcher("/WEB-INF/pages/result.jsp");
RequestDispatcher rd = sc.getRequestDispatcher ("/WEB-INF/pages/result.jsp");
rd.forward(request, response);
}
}
在result.jsp中:
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<%@ taglib prefix="c"
uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib tagdir="/WEB-INF/tags" prefix="myjsp" %>
<%@ page import="servlets.Cube, servlets.CalcServlet " %>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<body>
<h2>Cube Info Using JSP 2.0 </h2><br>
<b>Side of a Cube: ${param.side} </b><br>
<b>Volume of a Cube: ${param.side*param.side*param.side}</b><br>
<br></br><br>
Using Custom Tag:
<myjsp:displayform color="red"></myjsp:displayform>
<br></br><br>
<h2>Using JSTL:</h2>
<h2>Cube Info Using JSP 2.0 </h2><br>
<b>Side of a Cube: ${param.side} </b><br>
<b>Volume of a Cube: </b>
<c:choose>
<c:when test="${param.side*param.side*param.side>10}">
<li><span style="color: red;">Volume: ${param.side*param.side*param.side}</span></li>
</c:when>
<c:otherwise>
<li><span style="color: black;">Volume: ${param.side*param.side*param.side}</span></li>
</c:otherwise>
</c:choose>
</body>
</html>
显示结果,因为正在读取param.side。但是我想用param.volume做到这一点。请帮忙!!我已经尝试了一切。
最佳答案
首先修复您的吸气剂/吸水剂的体积。现在,您的吸气剂就像是塞特犬。
public void setVolume(int Volume){
this.volume=volume;
}
public int getVolume() {
return volume;
}
然后在您的Serlvet中(适当的做法是在实用程序类中执行此操作)
int side=Integer.parseInt(scube);
obj.setSide(side);
int volume= side*side*side;
obj.setVolume(volume);
request.setAttribute("cube", obj);
您命名了包含bean Cube的参数“ cube”。在那条线上
request.setAttribute(“ cube”,obj);
因此要访问JSP中的bean多维数据集,您应该这样做
${cube.side}
${cube.volume}
或正确的方法
<c:out value="${cube.side}"/>
<c:out value="${cube.volume}"/>
关于java - 如何检索体积参数并将其显示在result.jsp中,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/41088278/