2013-10-25 94 views
1

我在jsp上收到以下錯誤。可它的出現是由於會話超時,但如何處理它:在jsp上獲取錯誤頁面

org.apache.jasper.JasperException: An exception occurred processing JSP page /navbar.jsp at line 23 

而且我的代碼是:

20:       <li><a href="homepage.jsp"><i class="icon-home"></i> Dashboard</a></li> 
21: 
22:       <li><a href="MenuTeamMember.jsp"><i class="icon-group"></i> Team</a></li> 
23:       <%if (session.getAttribute("role").equals("National_Head") || session.getAttribute("role").equals("Admin")) {%> 
24:       <li class="dropdown"> 
25:        <a href="#" class="dropdown-toggle" data-toggle="dropdown"><i class="icon-globe"></i> Distribution<b class="caret"></b></a> 
26:        <ul class="dropdown-menu"> 
+1

我的猜測是,'session.getAttribute( 「角色」)''返回null'。 –

回答

0

步驟出來的這個:

1.檢查爲session.getAttribute("role")null或不

2)getAttribute回報Object,所以你dhould它轉換爲String檢查。

<%if ((String)session.getAttribute("role").equals("National_Head") || 
        (String)session.getAttribute("role").equals("Admin")) {%> 

3)Immeadiatly閱讀:How to avoid Java code in JSP files?

+0

如果getAttribute返回Object,那麼equals方法沒有問題。 – Masudul

0

session.getAttribute("role")可能返回null。改變你的條件,如下所示,看看發生了什麼。

<%if ("National_Head".equals(session.getAttribute("role")) 
    ||  "Admin".equals(session.getAttribute("role")) {%> 

在字符串equals第一使用固定值(即「National_Head」),其永遠不會引發任何NPE的情況下。

+0

'getAttribute返回Object'。不是'字符串'。 –

+2

而'equals'方法想要一個'Object',所以它應該沒問題。 – YMomb