Java Struts2标记给出jasper异常
下面是jsp代码Java Struts2标记给出jasper异常,java,struts2,ognl,Java,Struts2,Ognl,下面是jsp代码 <ul class="nav pull-right"> <s:if test="%{curUser != null}"> <li class="dropdown"> <a href="javascript:void(0)" class="dropdown-toggle" data-toggle="dropdown">%{curUser.userName
<ul class="nav pull-right">
<s:if test="%{curUser != null}">
<li class="dropdown">
<a href="javascript:void(0)" class="dropdown-toggle" data-toggle="dropdown">%{curUser.userName}<b class="caret"></b></a>
<ul class="dropdown-menu">
<s:if test="%{curUser.admin eq true}">
<li><a href="/admin" title="Admin Section"><i class="icon-certificate"></i> Admin</a></li>
</s:if>
<li><a href="/user/%{curUser.userName}" title="%{curUser.userName}'s Profile"><i class="icon-user"></i> Profile</a></li>
<li><a href="/user/profile.html?action=edit"><i class="icon-cog"></i> Edit Profile</a></li>
<li><a href="/login.html?action=logout"><i class="icon-off"></i> Sign out</a></li>
</ul>
</li>
</s:if>
<s:else>
<li><a href="/login">Login</a></li>
<li class="divider-vertical"></li>
<li><a href="/signup">Sign Up</a></li>
</s:else>
</ul>
-
我得到了这个错误。我需要帮助
org.apache.jasper.JasperException: An exception occurred processing JSP page /decorators/base.jsp at line 45
42: </a></li>
43: </ul>
44: <ul class="nav pull-right">
45: <s:if test="%{curUser != null}">
46: <li class="dropdown">
47: <a href="javascript:void(0)" class="dropdown-toggle" data-toggle="dropdown">%{curUser.userName}<b class="caret"></b></a>
48: <ul class="dropdown-menu">
org.apache.jasper.JasperException:在第45行处理JSP页面/decorators/base.JSP时发生异常
42:
43:
44:
45:
46:-
47:
48:
这是我的web.xml配置——我想问题是在sitemesh中使用Struts标记
<filter>
<filter-name>sitemesh</filter-name>
<filter-class>com.opensymphony.sitemesh.webapp.SiteMeshFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>sitemesh</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<filter>
<filter-name>LoginCheckFilter</filter-name>
<filter-class>com.tutorial.filter.LoginCheckFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>LoginCheckFilter</filter-name>
<url-pattern>/admin</url-pattern>
<url-pattern>/admin/*</url-pattern>
</filter-mapping>
<filter>
<filter-name>UrlRewriteFilter</filter-name>
<filter-class>org.tuckey.web.filters.urlrewrite.UrlRewriteFilter</filter-class>
<init-param>
<param-name>logLevel</param-name>
<param-value>WARN</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>UrlRewriteFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
<init-param>
<param-name>actionPackages</param-name>
<param-value>com.tutorial.action</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
<dispatcher>REQUEST</dispatcher>
<dispatcher>FORWARD</dispatcher>
</filter-mapping>
<listener>
<listener-class>
org.springframework.web.context.ContextLoaderListener
</listener-class>
</listener>
<listener>
<listener-class>org.apache.struts2.dispatcher.ng.listener.StrutsListener</listener-class>
</listener>
网站
com.opensymphony.sitemesh.webapp.SiteMeshFilter
网站
/*
登录检查过滤器
com.tutorial.filter.LoginCheckFilter
登录检查过滤器
/管理员
/管理员/*
URL重写过滤器
org.tuckey.web.filters.urlrewrite.UrlRewriteFilter
对数电平
警告
URL重写过滤器
/*
支柱2
org.apache.struts2.dispatcher.ng.filter.strutspreadexecutefilter
行动包
com.tutorial.action
支柱2
/*
要求
向前地
org.springframework.web.context.ContextLoaderListener
org.apache.struts2.dispatcher.ng.listener.StrutsListener
这同样发生在我身上,我也收到了另一个错误。
发生的情况是,struts标记在运行时没有被替换,因此它不能由html处理器编译。
解决方案是,在web.xml中,struts过滤器映射必须高于sitemesh过滤器映射
在这个话题上,我也得到了同样的回答:
查看是否听起来很熟悉。值堆栈中是否存在
curUser
其他Struts2 JSP是否正确呈现?使用标记确保curUser对象在值堆栈中可用。或者,如果页面正确呈现,则删除(如果其他)块。valueStack中的用户不可用。显示完整堆栈跟踪。。。通常,您应该能够引用valuestack上不存在的内容,而不执行它正在执行的操作。。。它是如何从mearly访问curUser生成JasperException的,这让我想知道getCurUser是什么样子。。。或者如果有一些spring/AOP魔法正在发生。