0

我有一个简单的表格

表单动作="email.jsp" 方法="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 页面,为我使用的另一个网站工作,该网站在 flash 中

每次我向其发布数据时,此 email.jsp 都会提供空值 - 代码如下

谁能看到我做错了什么?

<%@ 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 有点乱码,但看起来您没有为输入指定“名称”属性。“id”属性适用于从 <label> 引用您的字段或从 Javascript 访问您的输入,但浏览器不会在 POST 请求中使用它。

解决方案很简单,将“name”属性添加到您的输入元素,如下所示:

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