(我检查了所有其他类似的问题,我是新手,让我先说)
我有像这样的非常基本的html:https://ibb.co/KVNbv9z 以及如下所示的 servlet 代码。
它为字符串 q1 提供 null 返回:/
我认为主要问题是我正在尝试使用 request.getRequestDispatcher("htmlquestions.html").include(request, response); 在 servlet 内部,但无法返回其结果。我该怎么办 - 我正在寻找这个 2 天。非常感谢您的帮助
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
import java.util.logging.Logger;
public class SecondServlet extends HttpServlet {
public void doGet(HttpServletRequest request, HttpServletResponse response){
try{
response.setContentType("text/html");
PrintWriter out = response.getWriter();
request.getRequestDispatcher("htmlquestions.html").include(request, response);
String q1 = request.getParameter("Q1");
out.print( " aaaaaaaaaaaaaaaaaaa " + q1 );
out.print("<form action='ThirdServlet'>");
out.print("<input type='submit' value='go'>");
out.print("</form>");
out.close();
}catch(Exception e){System.out.println(e);}
}
}
最佳答案
来自 Java EE 文档:
https://javaee.github.io/javaee-spec/javadocs/javax/servlet/RequestDispatcher.html
void include(ServletRequest request, ServletResponse response) throws ServletException, IOException
Includes the content of a resource (servlet, JSP page, HTML file) in the response. In essence, this method enables programmatic server-side includes.
您只是在响应中包含内容,请求并未更改。请求参数在提交表单时设置。这就是为什么 request.getParameter
返回 null,当 servlet 接收到请求时没有设置任何值。
为了完成您想要的操作,您应该创建一个 JSP 表单,或者更好的是一个包含页面呈现内容的 JSF 表单。我强烈建议您使用 JSF,因为使用 servlet 和/或 JSP 创建 Web 内容在某种程度上已被弃用,并且随着内容变得更加复杂,可能会变得非常困惑。
关于java - 从 servlet 中的单选按钮值获取 null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55323696/