基于JSP中的用户凭据启用/禁用提交按钮
我有一个包含JSP和servlet的web应用程序。我想启用表单中的某些提交按钮,仅向用户名为“admin”且密码为“admin”的人提交。我从login.jsp页面获取用户凭据,并将其传递给servlet,然后返回displayrecord.jsp,在那里我想测试username=“admin”和Password=“admin”,然后启用编辑、删除和上载,或者取消它们。但不幸的是,这不起作用 下面是JSP页面中用于从servlet获取值的代码基于JSP中的用户凭据启用/禁用提交按钮,jsp,servlets,jstl,Jsp,Servlets,Jstl,我有一个包含JSP和servlet的web应用程序。我想启用表单中的某些提交按钮,仅向用户名为“admin”且密码为“admin”的人提交。我从login.jsp页面获取用户凭据,并将其传递给servlet,然后返回displayrecord.jsp,在那里我想测试username=“admin”和Password=“admin”,然后启用编辑、删除和上载,或者取消它们。但不幸的是,这不起作用 下面是JSP页面中用于从servlet获取值的代码 <% String uname= (
<%
String uname= (String)session.getAttribute("UserName");
String upass= (String)session.getAttribute("UserPassword");
%>
下面是我尝试使用JSTL测试条件的代码
<c:choose>
<c:when test="{<%=uname%> == 'admin'}&& {<%=upass%> == 'admin'}">
<form id="edit" action="EditRecord" method="post" >
<td><input type="hidden" name="hidden_edit" id="edit_id" value="<%=s %>"/>
<input type="submit" value="Edit" name="edit"> </td>
</form>
<form id="delete" action="DeleteRecord" method="post" >
<td><input type="hidden" name="hidden_delete" id="delete_id" value="<%=s %>"/>
<input type="submit" value="delete" name="delete"> </td>
</form>
</c:when>
</c:choose>
<c:otherwise>
<form id="edit" action="EditRecord" method="post" >
<td><input type="hidden" name="hidden_edit" id="edit_id" value="<%=s %>"/>
<input type="submit" value="Edit" name="edit"> </td>
</form>
<form id="delete" action="DeleteRecord" method="post" >
<td><input type="hidden" name="hidden_delete" id="delete_id" value="<%=s %>"/>
<input type="submit" disabled="disabled" value="delete" name="delete"> </td>
</form>
</c:otherwise>
有人能告诉我哪里出了问题,或者有什么更好的方法来测试启用或禁用按钮的条件吗尝试将条件更改为:
<c:when test="{uname == 'admin' && upass == 'admin'}">
Scriplet代码将直接插入页面,其中as jstl变量基于范围。因此,将用户名和密码添加到pagecontext中,并使用jstl访问它们
<%
String uname= (String)session.getAttribute("UserName");
String upass= (String)session.getAttribute("UserPassword");
pageContext.setAttribute("uname",uname);
pageContext.setAttribute("upass",upass);
%>
并将jstl代码更改为:
<c:choose>
<c:when test="{uname == 'admin' && upass == 'admin'}">
<form id="edit" action="EditRecord" method="post" >
<td><input type="hidden" name="hidden_edit" id="edit_id" value="<%=s %>"/>
<input type="submit" value="Edit" name="edit"> </td>
</form>
<form id="delete" action="DeleteRecord" method="post" >
<td><input type="hidden" name="hidden_delete" id="delete_id" value="<%=s %>"/>
<input type="submit" value="delete" name="delete"> </td>
</form>
</c:when>
<c:otherwise>
<form id="edit" action="EditRecord" method="post" >
<td><input type="hidden" name="hidden_edit" id="edit_id" value="<%=s %>"/>
<input type="submit" value="Edit" name="edit"> </td>
</form>
<form id="delete" action="DeleteRecord" method="post" >
<td><input type="hidden" name="hidden_delete" id="delete_id" value="<%=s %>"/>
<input type="submit" disabled="disabled" value="delete" name="delete"> </td>
</form>
</c:otherwise>
</c:choose>
你关闭了c:选择c:时间之后的右键。你需要在c:之后关闭,否则。这样可以确保在条件失败时以其他方式显示内容。感谢您的回复。我在JSP页面中尝试了您的代码,但page.addAttribute出现错误,因为pageContext没有名为addAttribute的函数。您确定它是pageContext.addAttribute..而且我使用EL在${username}和${UserPassword}中获得了用户名和密码。我如何使用EL检查条件并禁用提交按钮..请指导我应该设置属性。更新了我的答案,请立即尝试并检查。我尝试了,但不起作用。.按钮已禁用“管理员”用户凭据以及其他凭据…我们是否可以尝试EL检查条件我在发布之前测试了此代码。清理/移除并尝试从此处使用它。