The menu repository could not be found. 
我使用spring security 集成struts menu出现了上述错误。搜索网络,几乎没有被解决的迹象,求教csdn高手了。谢谢。 
如何才能解决呢?我尝试了很多方法了 
我最近在csdn上发的帖子
http://topic.csdn.net/u/20080922/18/f4ec1290-f44e-486e-a4bd-38e0abeed429.html
http://topic.csdn.net/u/20080922/14/f4621eea-4e39-427a-acdd-12d23bd6ef8d.html
http://topic.csdn.net/u/20080922/16/f198f9bf-1af8-43d5-b78a-2f75a1c0f2bf.html
http://topic.csdn.net/u/20080923/10/4f1e4524-aa98-4039-8964-3a0922ea2149.html
请教zxt专家,希望让网络中同样做这样工作的人有更多实际的参考,有效地参考,希望你能解决这个问题。谢谢
我搜索到的帖子,中文,有价值的,英文的没有列出,有一个maillist但是问题到最后成了答非所问。老外的特点
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.   

    很好,终于有人接招。
    我使用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) ├─.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下面
      

  2.   

    The menu repository could not be found. 
    是用的自定义标签不?
    是你这里错了啊,
    UseMenuDisplayerTag.doStartTagUseMenuDisplayerTag.java:145但menu 做导航菜单的话我是没做过.
      

  3.   

    不是用自己定义的标签,如果单独使用的话,一起都ok,但是结合到spring security就出现这个问题了
    基本的英文虽然不是很熟悉,但是也能看懂,不需要别人翻译。
    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) 在错误中只有main.jsp是我自己定义的,其他的都是struts menu的。UseMenuDisplayerTag也不是我定义的,而且奇怪的是,我找不到在哪里、
    我猜想是不是我在main.jsp里面的错,但是试试不同呢
    <menu:useMenuDisplayer name="ListMenu" repository="repository">
                 <menu:displayMenu name="DatabaseMenu"/>
                 <menu:displayMenu name="StandaloneMenu"/>
             </menu:useMenuDisplayer>
    我用了一个没有使用数据库的来做,真实的用数据苦的也不同
      

  4.   

    那你干脆到main_jsp.java里去看看源代码吧,说不定能找到错误
    main_jsp.java:342
    main_jsp.java:209
      

  5.   

    我的main.jsp一共才185行………………我到哪里找到342行和209行呢
      

  6.   

    .java文件,最后生成的.java文件
      

  7.   

    没有生成这个.java文件…………这个方面是个什么思路呢?
    找不到这个东西 
      

  8.   


    main_jsp.java:209一般是在你服务器的目录下.如在tomcat中,就是在tomcat目录的work目录中. %Tomcat%\work\Catalina\localhost\Image\org\apache\jsp(tomcat 6.0)
      

  9.   

    o 忘了说明,我在myeclipse上面,没有deploy
      

  10.   

    我只是不会spring
    但并不代表这个错误我不认识
    filter的代理没搞好吧,配置文件中
      

  11.   

    没人说你不懂啊,大家来讨论我很高兴,<?xml version="1.0" encoding="UTF-8"?>
    <beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd">
    <!-- 为struts menu 添加securityContextHolderAwareRequestFilter -->
    <bean id="filterChainProxy"
    class="org.springframework.security.util.FilterChainProxy">
    <property name="filterInvocationDefinitionSource">
    <value><![CDATA[
    CONVERT_URL_TO_LOWERCASE_BEFORE_COMPARISON
    PATTERN_TYPE_APACHE_ANT
    /images/**=#NONE# 
    /scripts/**=#NONE# 
    /styles/**=#NONE# 
    /templates/**=#NONE#
    /**=httpSessionIntegrationFilter,logoutFilter,authenticationProcessingFilter,securityContextHolderAwareRequestFilter,exceptionTranslationFilter,filterSecurityInterceptor]]>
    </value>
    </property>
    </bean>

    <bean id="httpSessionIntegrationFilter"
    class="org.springframework.security.context.HttpSessionContextIntegrationFilter" />


    <bean id="logoutFilter" class="org.springframework.security.ui.logout.LogoutFilter">
    <constructor-arg> 
    <list>
    <bean class="org.springframework.security.ui.logout.SecurityContextLogoutHandler" />
    </list>
    </constructor-arg>
    <constructor-arg value="/index.jsp" />
    <property name="filterProcessesUrl" value="/j_spring_security_logout"/>
    </bean>

    <bean id="authenticationEntryPoint"
    class="org.springframework.security.ui.webapp.AuthenticationProcessingFilterEntryPoint">
    <property name="loginFormUrl" value="/index.jsp" />
    <property name="forceHttps" value="true" />
    </bean>
    <bean id="authenticationProcessingFilter"
    class="org.springframework.security.ui.webapp.AuthenticationProcessingFilter">
    <property name="filterProcessesUrl"
    value="/j_spring_security_check" />
    <property name="authenticationFailureUrl"
    value="/index.jsp?error=1" />
    <property name="defaultTargetUrl"
    value="/secured/main.jsp" />
    <property name="authenticationManager"
    ref="authenticationManager" />
    </bean>
    <bean id="securityContextHolderAwareRequestFilter"
        class="org.springframework.security.wrapper.SecurityContextHolderAwareRequestFilter">
    </bean>

    <bean id="exceptionTranslationFilter"
    class="org.springframework.security.ui.ExceptionTranslationFilter">
    <property name="authenticationEntryPoint"
    ref="authenticationEntryPoint" />
    <property name="accessDeniedHandler" ref="accessDeniedHandler" />
    </bean>
    <bean id="accessDeniedHandler"
    class="org.springframework.security.ui.AccessDeniedHandlerImpl">
    <property name="errorPage" value="/secured/error.jsp" />
    </bean>
    <bean id="filterSecurityInterceptor"
    class="org.springframework.security.intercept.web.FilterSecurityInterceptor">
    <property name="authenticationManager"
    ref="authenticationManager" />
    <property name="accessDecisionManager"
    ref="accessDecisionManager" />
    <property name="objectDefinitionSource">

    <value><![CDATA[
    CONVERT_URL_TO_LOWERCASE_BEFORE_COMPARISON
    PATTERN_TYPE_APACHE_ANT
    /secured/admin/security.jsp=ROLE_ADMIN]]>
    </value>
    </property>
    </bean>
    <bean id="authenticationManager"
    class="org.springframework.security.providers.ProviderManager">
    <property name="providers">
    <list>
    <ref local="daoAuthenticationProvider" />
    </list>
    </property>
    </bean>
    <!--  -->
    <bean id="accessDecisionManager"
    class="org.springframework.security.vote.AffirmativeBased">
    <property name="allowIfAllAbstainDecisions">
    <value>false</value>
    </property>
    <property name="decisionVoters">
    <list>
    <bean class="org.springframework.security.vote.RoleVoter">
    <property name="rolePrefix" value="ROLE_" />
    </bean>
    <bean class="org.springframework.security.vote.AuthenticatedVoter" />
    </list>
    </property>
    </bean>

    <bean id="daoAuthenticationProvider"
    class="org.springframework.security.providers.dao.DaoAuthenticationProvider">
    <!-- jdbcDaoImpl实现了userDetailsService接口 -->
    <property name="userDetailsService">
    <ref local="jdbcDaoImpl" />
    </property>
    </bean>
    <bean id="jdbcDaoImpl"
    class="org.springframework.security.userdetails.jdbc.JdbcDaoImpl">
    <property name="usersByUsernameQuery">
    <value>
    select username,password,enabled from users where
    username=?
    </value>
    </property>
    <property name="authoritiesByUsernameQuery">
    <value>
    select username,authority from authorities where
    username=?
    </value>
    </property>

    <property name="dataSource">
    <ref local="dataSource" />
    </property>
    </bean>
    <bean id="dataSource"
    class="org.apache.commons.dbcp.BasicDataSource">
    <property name="driverClassName"
    value="org.gjt.mm.mysql.Driver">
    </property>
    <property name="url" value="jdbc:mysql://localhost:3306/ssonedb">
    </property>
    <property name="username" value="root"></property>
    <property name="password" value=""></property>
    </bean>
    <!-- 添加menu问题 -->
    <bean id="menu" class="net.sf.navigator.menu.MenuLoader"> 
    <property name="menuConfig"> 
    <value>/WEB-INF/menu-config.xml</value> 
    </property> 
    </bean>


    </beans>
      

  12.   

       <bean id="menu" class="net.sf.navigator.menu.MenuLoader"> 
            <property name="menuConfig"> 
            <value>/WEB-INF/menu-config.xml</value> 
            </property> 
        </bean>
        
    要第一个添加?这样违背了规则啊
      

  13.   

    很绝望,态度有问题就有问题吧。不懂java就别来,觉得acegi很微妙,
      

  14.   

    Thanks for contacting Raible Designs - we will respond like lightning! 
    给Raible写信吧,很好的人。很快就给你答复的
    http://raibledesigns.com/rd/page/contact
      

  15.   

    Raible Matt回复了。大家有问题可以直接找他:)
    不在意你说什么了。能不能解决问题才是关键
      

  16.   

    注解的问题,你们不认识@Repository这个东西吗?晕,简单的来说就是spring的依赖注入报错了,没有通过注解,也没有配置bean!!哈哈