The menu repository could not be found.
我使用spring security 集成struts menu出现了上述错误。搜索网络,几乎没有被解决的迹象,求教csdn高手了。谢谢。
如何才能解决呢?我尝试了很多方法了http://www.cjsdn.net/post/view?id=151108&sty=3&bid=20
http://www.javaeye.com/problems/620
http://blog.csdn.net/agtimewt/archive/2008/04/25/2328414.aspx
http://hi.baidu.com/ming871/blog/item/0592dffa05bac5dab58f3110.html
http://topic.csdn.net/t/20060517/10/4757284.html
http://www.blogjava.net/dreamstone/archive/2008/08/21/120308.html?opt=admin
http://bbs.csai.cn/bbs/view.asp?id={28DD1E79-0F08-4CF4-A6C8-11246A81FB0F}
http://www.matrix.org.cn/thread.shtml?topicId=25016&forumId=22
http://dev2dev.bea.com.cn/bbs/thread.jspa?forumID=124&threadID=12949
http://www.softwelt.com/Know/KnowDetail-101669.html

解决方案 »

  1.   

    谢谢hcz202202,希望我们能把解决之道顶出来
      

  2.   

    http://www.mail-archive.com/[email protected]/msg00455.html
    用Google
      

  3.   

    谢谢no end point这个我搜过了,就是strutsmenu author的maillist可惜这个问题到最后变味了,成了答非所问。
    英文的很少,还有一个是author的faq,不过上面的按照做了,不行…………
    大家参考一下我的文件结构吧,是不是我的有些路径不对?
    ├─.myeclipse 
    ├─src 
    │  └─com 
    │      ├─abc 
    │      │  └─struts 
    │      │      └─action 
    │      └─Hibernate 
    └─WebRoot 
        ├─images 
        ├─META-INF 
        ├─scripts 
        ├─secured 
        │  └─admin 
        ├─styles 
        ├─templates 
        └─WEB-INF 
            ├─classes 
            │  └─com 
            │      ├─abc 
            │      │  └─struts 
            │      │      └─action 
            │      └─Hibernate 
            └─lib 基本上是index.jsp(在web-inf)登录框,到secured/main.jsp,导航菜单在seucured/main.jsp下面
    我使用spring security和struts+menu 做导航菜单,现在出现这个错误,怎么处理呢? 
    严重: Servlet.service() for servlet jsp threw exception 
    javax.servlet.jsp.JspException: The menu repository could not be found. 
    at net.sf.navigator.taglib.UseMenuDisplayerTag.doStartTag(UseMenuDisplayerTag.java:145) 
    at org.apache.jsp.secured.main_jsp._jspx_meth_menu_005fuseMenuDisplayer_005f0(main_jsp.java:342) 
    at org.apache.jsp.secured.main_jsp._jspService(main_jsp.java:209) 
    at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70) 
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:803) 
    at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:393) 
    at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:320) 
    at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266) 
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:803) 
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) 
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) 
    at org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:359) 
    at org.springframework.security.intercept.web.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:109) 
    at org.springframework.security.intercept.web.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:83) 
    at org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:371) 
    at org.springframework.security.ui.ExceptionTranslationFilter.doFilterHttp(ExceptionTranslationFilter.java:101) 
    at org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53) 
    at org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:371) 
    at org.springframework.security.ui.AbstractProcessingFilter.doFilterHttp(AbstractProcessingFilter.java:271) 
    at org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53) 
    at org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:371) 
    at org.springframework.security.ui.logout.LogoutFilter.doFilterHttp(LogoutFilter.java:89) 
    at org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53) 
    at org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:371) 
    at org.springframework.security.context.HttpSessionContextIntegrationFilter.doFilterHttp(HttpSessionContextIntegrationFilter.java:235) 
    at org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53) 
    at org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:371) 
    at org.springframework.security.util.FilterChainProxy.doFilter(FilterChainProxy.java:174) 
    at org.springframework.security.util.FilterToBeanProxy.doFilter(FilterToBeanProxy.java:99) 
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) 
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) 
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230) 
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175) 
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128) 
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:104) 
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) 
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:261) 
    at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844) 
    at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:581) 
    at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447) 
    at java.lang.Thread.run(Unknown Source) 
    我用/templates/*.html可以在secured下面访问到*.html吗?
      

  4.   

    是因为你没有在struts-config.xml文件里没有声明注册
      

  5.   

    例如<!--配置struts-menu插件-->
      <plug-in className="net.sf.navigator.menu.MenuPlugIn">
        <set-property property="menuConfig" value="/WEB-INF/menu-config.xml"/>
      </plug-in> 
      

  6.   

    您的这个提示在http://www.blogjava.net/dreamstone/archive/2008/08/21/120308.html?opt=admin 里面有
    而且还有一个如果要是需要spring 集成,比如spring security还有的帖子说要加入
    <bean id="menu" class="net.sf.navigator.menu.MenuLoader"> 
    <property name="menuConfig"> 
    <value>/WEB-INF/menu-config.xml</value> 
    </property> 
    </bean> 
      

  7.   

    这个比较关键,红色的,这个应该怎么放呢?你是说的那一个呢?一共是三个。从网络的google.baidu来看appuse使用了acegi和strutsmenu应用中使用了struts,把struts menu做为一个struts插件,如下  < plug - in className = " net.sf.navigator.menu.MenuPlugIn " > 
            < set - property property = " menuConfig "  value = " /WEB-INF/menu- config.xml " /> 
      </ plug - in > 在web.xml中配置监听器, (在appfuse中使用的就是此种方式) 如下__这个的意思是其他的不用? < listener > 
         < listener - class > net.sf.navigator.menu.MenuContextListener </ listener - class > 
     </ listener > 项目中使用到了spring,定义一个bean  < bean id = " menu "   class = " net.sf.navigator.menu.MenuLoader " > 
            < property name = " menuConfig " > 
                  < value >/ WEB - INF / menu - config.xml </ value > 
            </ property > 
      </ bean >