out.write 不会将值“加倍”。还有其他方法可以做到这一点吗? 我标记了有问题的行。 我期待得到您的持续支持。
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@WebServlet("/ServletDemo")
public class ServletDemo extends HttpServlet {
private double getFahrenheit(double celsius){
double fahrenheit = celsius * 1.8 + 32;
return fahrenheit;
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.setContentType("text/html");
PrintWriter out = response.getWriter();
out.write("!DOCTYPE html>\n");
out.write("<html>\n");
out.write("<body>\n");
out.write("<h1>JSP Beispiel</h1>\n");
out.write("Text aus dem Scriplet!");
out.write("<br/>\n");
out.write("30° Celsius entsprechen\n");
out.write(getFahrenheit(30.0)); // ----------> Problem at this line
out.write("° Fahrenheit!\n");
out.write("</body>\n");
out.write("</html>");
out.close();
}
}
最佳答案
具有单个参数的
PrintWriter.write()
可以采用 String
、char[]
或 int
;但不是double
。通过执行以下操作将您的值转换为 String
:
out.write(String.valueOf(getFahrenheit(30.0)));
或者只是
out.write(getFahrenheit(30.0) + "");
关于java - out.write 不需要数据类型双值(Java Servlet),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34792118/