作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
是否可以让同一个 servlet 执行验证?似乎在这里可能需要利用某种递归,但是当我在电子邮件框中输入内容并单击“提交”时,电子邮件参数仍然为空。单击“提交”后,URL 更改为:http://localhost/servlet/EmailServlet?Email=test
该页面显示 Email: null
和文本框,但我希望它能够通过验证功能(即不为 null)。是否有可能实现这种类型的递归行为?
public class EmailServlet extends HttpServlet {
public void doGet(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException
{
response.setContentType("text/html");
PrintWriter out = response.getWriter();
String theForm =
"<FORM METHOD=\"GET\" ACTION=\"EmailServlet\">\n<INPUT TYPE=\"TEXT\" NAME=\"Email\"><P>\n"
+ "<INPUT TYPE=\"SUBMIT\">\n</FORM>";
String email = (String) request.getAttribute("Email");
// Bogus email validation...
if( email == null )
{
out.println("Email: " + email + "\n" + theForm);
}
else if(emailAddressNotBogous(email))
{
out.println("Thank you!");
}
else
{
out.println("“Invalid input. Please try again:\n" + theForm);
}
out.flush();
}
}
更新:正如已接受的答案所指出的那样,代码中存在错误。将 getAttribute 更改为 getParameter 修复了“问题”:)。
String email =
(String)
request.
getAttribute
getParameter("Email");
最佳答案
要在 servlet 中获取表单参数,请使用:
request.getParameter("Email");
是的,您可以使用相同的 servlet,但使用两个不同的 servlet 来完成此操作会更容易。
关于servlets - 如何在servlet中获取表单参数? request.getAttribute 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2292260/
我是一名优秀的程序员,十分优秀!