2015-11-03 84 views
0

我有index.jsp页面。jsp中菜单的条件逻辑...

<form action="LoginServlet" method="post"> 
    <fieldset style="width: 300px"> 
     <legend> Login to App </legend> 
     <table> 
      <tr> 
       <td>User ID</td> 
       <td><input type="text" name="Emp_id" required="required" /></td> 
      </tr> 
      <tr> 
       <td>Password</td> 
       <td><input type="password" name="Pwd" required="required" /></td> 
      </tr> 
      <tr> 
       <td>User Type</td> 
       <td> <select name="usertype"> 
       <option>Employee</option> 
       <option>Manager</option> 
       <option>Admin</option> 
      </select></td> 
      </tr> 
      <tr> 
       <td><input type="submit" value="Login" /></td> 
      </tr> 
     </table> 
    </fieldset> 
</form> 

的header.jsp: 当用户与用户类型为“员工”只有两种菜单选项必须显示在接下来的页面的头文件记录英寸如果usertype是“Admin”或“Manager”,那么它必须显示所有四个菜单选项。

<body> 
    <form name="headerform" action="Get"> 
    <c:choose> 
    <c:when test="${usertype== Employee}"> 
     <div class="nav">  
      <ul><li class="container"><img src="${pageContext.request.contextPath}/images/enabling.jpg" /></li> 
      <li class="current"><a href="daywise.jsp">DayWise TimeSheet</a></li> 
      <li><a href="timesheet.jsp">Weekly TimeSheet</a></li> 
      </ul> 
     </div> 
    </c:when> 
    <c:when test="${usertype== Manager}"> 
     <div class="nav">  
      <ul><li class="container"><img src="${pageContext.request.contextPath}/images/enabling.jpg" /></li> 
      <li class="current"><a href="daywise.jsp">DayWise TimeSheet</a></li> 
      <li><a href="timesheet.jsp">Weekly TimeSheet</a></li> 
      <li><a href="newemployee.jsp">Add New Employeer</a></li> 
      <li><a href="retrieve.jsp">Retrieve TimeSheet</a></li> 
      </ul> 
     </div> 
    </c:when> 
    <c:when test="${usertype== Admin}"> 
     <div class="nav">  
      <ul><li class="container"><img src="${pageContext.request.contextPath}/images/enabling.jpg" /></li> 
      <li class="current"><a href="daywise.jsp">DayWise TimeSheet</a></li> 
      <li><a href="timesheet.jsp">Weekly TimeSheet</a></li> 
      <li><a href="newemployee.jsp">Add New Employeer</a></li> 
      <li><a href="retrieve.jsp">Retrieve TimeSheet</a></li> 
      </ul> 
     </div> 
    </c:when> 
    <c:otherwise> 
     <div class="nav">  
      <ul><li class="container"><img src="${pageContext.request.contextPath}/images/enabling.jpg" /></li> 
      <li class="current"><a href="daywise.jsp">DayWise TimeSheet</a></li> 
      <li><a href="timesheet.jsp">Weekly TimeSheet</a></li> 
      </ul> 
     </div> 
    </c:otherwise> 
    </c:choose> 
    </form> 
</body> 

但从上面的代码只有员工选项是可见的...我第一次使用jstl所以请告诉我如何做到这一点。或者是否有其他方法根据usertype隐藏选项。 Index.jsp与header.jsp不同。从index.jsp中,usertype值必须转到其他jsp页面的header.jsp。

+0

使用'eq'标签,而不是使用''==。 –

+0

@VivekSingh谢谢你的回复,但我试图...不工作 – dpk

+0

@BalusC我不知道它是如何重复。 – dpk

回答

0

您确定员工可见吗?是不是otherwise选项?

你的条件是错误的,试图改变它在:

<c:when test="${usertype eq 'Employee'}"> 
+0

感谢您的快速回复...是的,我确定它不是。无论第一个 dpk

+0

您是否测试过usertype的值? (这是我用来调试的简单方法) – PaolaG

+0

是的...我检查了它显示正确的usertype – dpk