我想获取我在网络表单中使用的几个标签的值。我使用隐藏的输入字段来完成这件事,但我无法通过servlet打印标签的值,因为我将null作为标签的值
以下是我用来测试的示例代码
的index.jsp
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>JSP Page</title>
</head>
<body>
<form name = "testform" action="submit" method = "post">
<label> AgeoftheChild </label>
<input type="hidden" name="lblage" value="AgeoftheChild">
<input type = "radio" name="age" value="10">10 <br>
<input type = "radio" name="age" value="20">20 <br>
<input type = "radio" name="age" value="30">30 <br>
<input type="submit" name="sub" value="submit">
</form>
</body>
这是submit.java servlet
public class submit extends HttpServlet {
protected void processRequest(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html;charset=UTF-8");
PrintWriter out = response.getWriter();
String age = request.getParameter("lblAge");
try {
/* TODO output your page here. You may use following sample code. */
out.println("<!DOCTYPE html>");
out.println("<html>");
out.println("<head>");
out.println("<title>Servlet NewServlet</title>");
out.println("</head>");
out.println("<body>");
out.println("<h1>Servlet NewServlet at " + age + "</h1>");
out.println("</body>");
out.println("</html>");
} finally {
out.close();
}
}
}
我想显示AgeoftheChild 但输出为空
请帮助解决可能的解决方案
提前致谢
答案 0 :(得分:1)
从您的HTML页面传递lblage
,在您的servlet中,您将其视为request.getParameter("lblAge");
因此,您需要更改标签的大小写以获取servlet中的值
`request.getParameter("lblage");`
在servlet中需要实现GenericServlet
或HttpServlet
中的方法,然后使用请求对象从请求中获取所需的参数。
在您使用的情况下,您需要实施doPost
方法。
答案 1 :(得分:1)
您是否尝试过使用HttpServlet的doPost
方法?
答案 2 :(得分:1)
第一次显示表单时,lblAge为null(仍然没有表单提交)。只有在您提交表格后,才会填写lblAge。
if (request.getMethod().equalsIgnoreCase("POST")) {
...
(IgnoreCase有点过头了。)