Scriplet code will be insertedd into page directly where as jstl variables are scope based. So add username and password into pagecontext and access them using jstl.
<%
String uname= (String)session.getAttribute("UserName");
String upass= (String)session.getAttribute("UserPassword");
pageContext.setAttribute("uname",uname);
pageContext.setAttribute("upass",upass);
%>
and change jstl code as:
<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>
You closed c:choose right after c:when. You need to close after c:otherwise. That way it ensures to display otherwise content when condition fails.