【问题标题】:Redirect to jsp page from another jsp page through servlet when button is clicked?单击按钮时通过servlet从另一个jsp页面重定向到jsp页面?
【发布时间】:2014-08-30 23:55:34
【问题描述】:

Login.jsp 从我想在单击按钮时重定向到另一个 jsp 页面,但它只在 servlet 页面中获取,而不是从那里重定向到另一个 jsp 页面,即 CustomerLogin.jsp

    <form action="<%=request.getContextPath()%>/UserController" name="login" method="post">
<input type="hidden" name="action">
<table align="center">
    <tr><td>Username</td><td><input type="text" name="user"> </td></tr>
    <tr><td>Password</td><td><input type="password" name="pwd"></td></tr>
    <tr><td colspan="2"><input type="submit" value="Login"> </td></tr>
</table>
</form>

servlet 编码

    String requestSource=request.getParameter("source");

    if(requestSource.equalsIgnoreCase("home")){
        System.out.println(requestSource);
        response.sendRedirect("jsp/Login.jsp");
    }
    else if(requestSource.equalsIgnoreCase("CustomerLogin")){
        System.out.println(requestSource);
        response.sendRedirect("jsp/CustomerPage.jsp");
    }

【问题讨论】:

  • 这个“源”参数究竟来自哪里?
  • "source" 参数我与 servlet 一起使用,根据不同页面源的不同值在控制器中重定向我的页面。

标签: java jsp servlets


【解决方案1】:

您需要在您的&lt;form&gt; 中添加一个名为source 的参数。您可以将此参数添加为隐藏:

<form action="<%=request.getContextPath()%>/UserController" name="login" method="post">
    <!-- current content... -->
    <input type="hidden" name="source "value="customerLogin" />
</form>

那么你的requestSource变量就会被这个参数填充。

不过,请注意,这不是一个好方法,您不应依赖隐藏字段来支持导航。为用户(在用户身份验证过程中获得)或其他用户定义特定数据的导航。

【讨论】:

    猜你喜欢
    • 2013-05-27
    • 2018-03-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-03-20
    • 2015-07-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多