java - <c :redirect url =""> is used in jsp 时如何设置 url prams

标签 java jsp

在我的网络应用程序中,我有 admin.jsp 页面,我可以在那里做一些 amin 的事情,我想限制直接访问它,如果管理员已登录,那么他可以在那里自由地做管理的事情,我有代码:

<c:choose>
<c:when test="${not empty sessionScope.admin}">                 
    <!-- Post -->
    <article class="is-post is-post-excerpt">
        <header>                                    
        h2>Welcome to Admin Area</h2>
        </header>
</article>  
</c:when>
    <c:otherwise>
    <c:redirect url="/context/controller?action=log-in"/>
</c:otherwise>
</c:choose>

通过上面的代码,我得到了正确的结果,我看到 url 为/context/login.jsp,但我想要这一行

/context/controller?action=log-in

应该出现在我使用的 url 中:

<jsp:forward page="/context/controller?action=log-in"/>

它显示了/context/admin.jsp,没有参数和空白页,请帮助我将 /context/controller?action=log-in 设置回 url 以便我可以获取并使用参数。

更新

在 admn.jsp 中使用下面的答案

<c:redirect url="/context/controller?action=log-in">
<c:param name="action" value="log-in"></c:param>
</c:redirect>   

为了在 login.jsp 中进行测试,我有

<article class="is-post is-post-excerpt">
<header>
<h2>Login
<c:choose>
    <c:when test="${not empty param.action}">
        <c:out value="${param.action}"></c:out>                                         
    </c:when>
</c:choose>
</h2>
</header>                               
</article>

我无法获得该参数,但我仍然获得了 /context/login.jsp url。

最佳答案

怎么样

<c:redirect url="/context/controller?action=log-in">
<c:param name="firstName" value="fred"></c:param>
</c:redirect>

关于java - <c :redirect url =""> is used in jsp 时如何设置 url prams,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24074376/

相关文章:

java - 起始标签 <td> 未关闭?

java - Maven - 从多个模块构建一个基于 java/servlet 的 war 文件

java - 使用 pagecontext.include 将页面范围属性传递给 JSP 以便在 JSTL 中使用?

java - 简单的 For 循环 - 执行太多次 IMO

java - Android Studio,应用程序将无法运行而不崩溃

java - 使用时从随机中删除数组

jsp - 在 JSP/JSTL 中查看 bean 的所有字段/属性

java - 比较三个单独列表中的产品

java - sql查询结果的字符数

java - Apache 扭矩项目的入口点