java - out.write 不需要数据类型双值(Java Servlet)

标签 java servlets

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&deg; Celsius entsprechen\n");
        out.write(getFahrenheit(30.0)); // ----------> Problem at this line
        out.write("&deg; Fahrenheit!\n");
        out.write("</body>\n");
        out.write("</html>");
        out.close();
    }


}

最佳答案

具有单个参数的

PrintWriter.write() 可以采用 Stringchar[]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/

相关文章:

java - 使用 BufferReader 和 BufferedWriter 写入文件时,文件创建为空

Java在小程序中显示图像

java - 显示标签问题

tomcat - 如何使用tomcat7运行servlet

java - 尝试从 JSP 页面调用 servlet 时出现严重的 : Allocate exception for servlet, 错误

java - 添加 Google App Engine 支持并保留独立支持

java - Java 中的数字模式打印

java - 方法中的变量不保存它们的值

java - 如何在我的 Web 应用程序中实现附属链接?

java - 如何将 .jsp 结尾的 url 模式映射到 servlet?