2008-11-10 2 views
0

내가HTML 이메일 양식 게시물을 JSP합니다 - 널 매개 변수

 <label for="firstname">Your Name: </label> 
       input type="text" id="name"<br/> 
     <label for="email">Your Email: </label> 
       input type="text" id="address"<br/> 
    <label for="message">Message: </label> 
       textarea size="30" rows="4" class="expand" id="comments"</textarea<br/> 
     input type="submit" value="Send" input type="reset" 

/양식

형태의 액션 = "email.jsp"방법 = "POST"간단한 양식을 가지고 게시하고 바람둥이 5.5에서 실행중인 email.jsp 페이지에 내가 사용하고있는 다른 웹 사이트에서 작업 중임

이 email.jsp는 데이터를 게시 할 때마다 null 값이 올라오고 있습니다 - 코드는

누구나 내가 뭘 잘못하고 있는지 알 수 있습니까?

<%@ page import="sun.net.smtp.SmtpClient, java.io.*, javax.servlet.http.HttpServletResponse, javax.servlet.jsp.PageContext" %> 
<% 
String name = request.getParameter("name"); 
out.print(name); 
String address = request.getParameter("address"); 
String comments = request.getParameter("comments"); 
String from="[email protected]"; 
String to="[email protected]"; 
try{ 
    SmtpClient client = new SmtpClient("localhost"); 
    client.from(from); 
    client.to(to); 
    PrintStream message = client.startMessage(); 
    message.println("From: " + from); 
    message.println("To: " + to); 
    message.println(); 
    message.println("Enquiry :-) from " + name + " at " + address); 
    message.println();  
    message.println("Details: "+ comments); 
    client.closeServer(); 
    } 
    catch (IOException e){  
    System.out.println("ERROR SENDING EMAIL:"+e); 
    } 
out.print("Email Sent Correctly"); 
%> 

답변

2

HTML이 약간 깨져 보이지만 입력에 "이름"속성을 지정하지 않은 것 같습니다. "id"속성은 < 레이블 >에서 필드를 참조하거나 Javascript에서 입력에 액세스하는 데 적합하지만 브라우저는 POST 요청에서이 필드를 사용하지 않습니다.

해결책은 간단하다, 이런 식으로, 당신의 입력 요소에 "name"속성을 추가

<input type="text" id="name" name="name" />