1

我的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">
4

2 回答 2

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)立即阅读: 如何避免 JSP 文件中的 Java 代码?

于 2013-10-25T07:46:57.470 回答
0

session.getAttribute("role")可能会回来null。像下面这样改变你的状况,而不是看看发生了什么。

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

如果字符串equals首先使用固定值(即“National_Head”),它永远不会抛出任何NPE.

于 2013-10-25T07:45:34.403 回答