0

私はシンプルなフォームを持っています

form action="email.jsp" method="post"

        <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"

/形

Tomcat 5.5で実行されているemail.jspページに投稿しており、私が使用している別のWebサイトで作業しています。

この 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="test@there.com.au";
 String to="test@where.com";
 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");
%>
4

1 に答える 1

2

HTMLは少し文字化けしていますが、入力に「name」属性を指定していないようです。「id」属性は、<label>からフィールドを参照したり、Javascriptから入力にアクセスしたりするのに適していますが、ブラウザーはPOSTリクエストでそれを使用しません。

解決策は簡単です。次のように、入力要素に「name」属性を追加します。

<input type="text" id="name" name="name" />
于 2008-11-10T10:21:48.017 に答える