Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jsp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
基于JSP中的用户凭据启用/禁用提交按钮_Jsp_Servlets_Jstl - Fatal编程技术网

基于JSP中的用户凭据启用/禁用提交按钮

基于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= (

我有一个包含JSP和servlet的web应用程序。我想启用表单中的某些提交按钮,仅向用户名为“admin”且密码为“admin”的人提交。我从login.jsp页面获取用户凭据,并将其传递给servlet,然后返回displayrecord.jsp,在那里我想测试username=“admin”和Password=“admin”,然后启用编辑、删除和上载,或者取消它们。但不幸的是,这不起作用

下面是JSP页面中用于从servlet获取值的代码

<%
    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检查条件我在发布之前测试了此代码。清理/移除并尝试从此处使用它。