无法在servlet中打印标签的值

时间:2014-12-30 09:48:10

标签: jsp servlets

我想获取我在网络表单中使用的几个标签的值。我使用隐藏的输入字段来完成这件事,但我无法通过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 但输出为空

请帮助解决可能的解决方案

提前致谢

3 个答案:

答案 0 :(得分:1)

从您的HTML页面传递lblage,在您的servlet中,您将其视为request.getParameter("lblAge"); 因此,您需要更改标签的大小写以获取servlet中的值

`request.getParameter("lblage");`

在servlet中需要实现GenericServletHttpServlet中的方法,然后使用请求对象从请求中获取所需的参数。

在您使用的情况下,您需要实施doPost方法。

答案 1 :(得分:1)

您是否尝试过使用HttpServlet的doPost方法?

答案 2 :(得分:1)

第一次显示表单时,lblAge为null(仍然没有表单提交)。只有在您提交表格后,才会填写lblAge。

if (request.getMethod().equalsIgnoreCase("POST")) {
    ...

(IgnoreCase有点过头了。)