我的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">
答案 0 :(得分:0)
您的session.getAttribute("role")
可能会返回null
。改变你的状况,如下所示,看看发生了什么。
<%if ("National_Head".equals(session.getAttribute("role"))
|| "Admin".equals(session.getAttribute("role")) {%>
如果字符串equals
首先使用固定值(即“National_Head”),它将永远不会抛出任何NPE
。
答案 1 :(得分:0)
出来的步骤:
1.检查session.getAttribute("role")
null
是否
2)getAttribute
返回Object
,因此您应该将其投放到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?