在我的网络应用程序中,我有 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/