2014-12-30 4 views
1

웹 양식에서 사용한 여러 레이블의 값을 가져오고 싶습니다. 숨겨진 된 입력 필드를 사용하여이 일을 얻을 수 있지만 레이블 값으로 null 점점 Im 같이 서블릿을 통해 레이블 값을 인쇄 할 수 없습니다.서블릿에서 레이블 값을 인쇄 할 수 없습니다.

다음 샘플 코드는 사용하고 있습니다 테스트

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 서블릿

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 를 표시하고자하지만 출력이

lblage과에 전달하는 HTML 페이지에서 사전

답변

1

양식을 처음 표시 할 때 lblAge는 null입니다 (아직 양식 제출 없음). 양식을 제출 한 후에 만 ​​lblAge가 채워집니다.

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

은 (IgnoreCase를 조금 과장입니다.) 실수를 지적

+0

에서 편집되었습니다. D : 많이 고마워요! – userSu

1

가능한 솔루션으로

감사를 도와주세요 null의 당신의 서블릿 request.getParameter("lblAge"); 서블릿의 값을 얻기 위해 레이블의 대소 문자를 변경해야합니다.

`request.getParameter("lblage");` 

서블릿에서 GenericServlet 또는 HttpServlet에서 메소드를 구현 한 다음 요청 오브젝트를 사용하여 요청 매개 변수를 요청하십시오.

귀하의 경우에는 doPost 방법을 구현해야합니다.

+0

감사합니다. 나는 'Clean and buid'후에 프로젝트를 실행했지만 다시 같은 것을 얻었다 : ( – userSu

+0

put'String age = request.getParameter ("lblAge");'response.setContentType ("text/html; charset; = UTF-8 "); 즉, 서블릿의 첫 번째 줄과 sop의 age 값을 확인합니다 .Doost에 대한 메소드 변경은 –

1

doPost HttpServlet 방법을 사용해 보셨습니까?

관련 문제