繁体   English   中英

如何从另一个Sevlet设置JSP属性?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM