[英]How can I set a JSP Attribute from another Sevlet?
我在同一JSP中有一个登录名和一个注册表单,但是我希望他们调用两个不同的servlet。 主要功能是有效的,因此您可以登录或注册,但是如果发生什么情况,我想从登录名和注册servlet更改主页上的$ {message}属性。 我该怎么做?
登录JSP页面(login.jsp)
<form action="register" method="POST">
INPUTS...
</form>
<form action="login" method="POST">
INPUTS...
</form>
登录Servlet(LoginSV.java)
protected void doPost(HttpServletRequest request, HttpServletResponse response) {
//Happens when e-mail or password incorrect
request.setAttribute("message", "Incorrect email/password.");
request.getRequestDispatcher("/login.jsp").forward(request, response);
return;
}
注册Servlet(RegisterSV.java)
protected void doPost(HttpServletRequest request, HttpServletResponse response) {
//Happens if user leaves a field empty
request.setAttribute("message", "One or more field is epty.");
request.getRequestDispatcher("/login.jsp").forward(request, response);
return;
}
web.xml中
<servlet>
<servlet-name>LoginSV</servlet-name>
<servlet-class>servlet.LoginSV</servlet-class>
</servlet>
<servlet>
<servlet-name>RegisterSV</servlet-name>
<servlet-class>servlet.RegisterSV</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>LoginSV</servlet-name>
<url-pattern>/login</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>RegisterSV</servlet-name>
<url-pattern>/register</url-pattern>
</servlet-mapping>
我在login.jsp文件中有表单,因此Login Servlet可以更改属性(因此在登录表单调用它时可以很好地工作),但是Register不能,$ {message}变量不存在任何形式。
问题解决了。 login.jsp中有一个重定向脚本,这使事情搞砸了。 感谢大家。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.