2015-11-03 86 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