我先是用Netbeans6.
1和struts2+hibernate3技术开发了一个在线书店网站,后来我重装了系统,又安装了netbeans6.7,在netbeans6.7下把那个在线书店项目打开,但是在运行时,却发现workflow拦截器排除方法无效,也就是说,我点击超链接,发出shop/book.action?categoryId=3请求,它应该立刻去执行execute()方法,不应该再去执行validate()方法,因为workflow拦截器已经把execute()方法给排除了,execute()方法不应该被拦截,可实际上validate()方法还是被执行了,我明明已经设置了defaultStack拦截器栈的workflow.excludeMethods属性中包括execute()方法的,这是怎么回事啊?
另外其它的Action也存在这个问题。这是怎么回事啊,恳请高手帮我解决,谢谢。 

解决方案 »

  1.   

    补充一下,重装系统以前,在netbeans6.1下调试,毫无问题。
    现在我也想用netbeans6.1,可是现在在netbeans6.1下设置服务器有点问题了,我只能改用netbeans6.7
      

  2.   

    netbeans就是一个ide,程序错误和他有啥关系。
      

  3.   


    严重同意把struts.xml贴出来看看good luck
      

  4.   

    好,struts.xml文件如下:
       <!DOCTYPE struts PUBLIC
    "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
    "http://struts.apache.org/dtds/struts-2.0.dtd"><struts>
        <package name="default" extends="struts-default" namespace="/">
            <action name="index" class="org.goldtiger.bookstore.actions.IndexAction">
                <result>index.jsp</result>
            </action>
            <action name="news" class="org.goldtiger.bookstore.actions.NewsAction">
                <interceptor-ref name="defaultStack">
                    <param name="workflow.excludeMethods">execute,getNewsDetail</param>
                </interceptor-ref>
                <result name="input">newsDetail.jsp</result>
                <result>listNews.jsp</result>
            </action>
            <action name="user" class="org.goldtiger.bookstore.actions.UserAction">            
                <result type="redirectAction">index</result>
                <result name="input">${inputUrl}</result>
                <result name="login">login.jsp</result>
                <result name="continue">userRegister1.jsp</result>
                <result name="topicDetail" type="redirectAction">article?topicId=${#parameters["topicId"][0]}</result>
                <param name="path">F:/uploads/bookstore/users</param>
                <result name="userScoreList">userScoreList.jsp</result>
            </action>
            <action name="topic" class="org.goldtiger.bookstore.actions.TopicAction">
                <result>listTopics.jsp</result>
                <result name="input">addTopic.jsp</result>
                <param name="path">F:/uploads/bookstore/bbsfile</param>
                <result name="download" type="stream">
                    <param name="contentDisposition">inline;filename="${upFileFileName}"</param>
                    <param name="inputName">inputStream</param>
                </result>
            </action>
            <action name="article" class="org.goldtiger.bookstore.actions.ArticleAction">
                <result name="input">addArticle.jsp</result>
                <result>listArticles.jsp</result>
            </action>
        </package>
        <package name="me" namespace="/me" extends="struts-default">
            <action name="user" class="org.goldtiger.bookstore.actions.UserAction">
                <result name="myInfo">info.jsp</result>
                <result name="myOrders">myOrders.jsp</result>
                <result name="input">editMyInfo.jsp</result>
                <param name="path">F:/uploads/bookstore/users</param>
            </action>
        </package>
        <package name="shop" extends="struts-default" namespace="/shop">
           <action name="book" class="org.goldtiger.bookstore.actions.BookAction">
               <interceptor-ref name="defaultStack">
                    <param name="workflow.excludeMethods">execute,getBookDetail,viewImage,addBookComment,deleteBookComment,searchBooks,getAllRecommendBooks</param>
                </interceptor-ref>
                <result>listBooks.jsp</result>
                <result name="input">bookDetail.jsp</result>
                <result type="stream" name="viewImage">
                    <param name="contentDisposition">inline;filename="${imageFileName}"</param>
                    <param name="inputName">inputStream</param>
                </result>
                <result name="getAllRecommendBooks">recommendBooks.jsp</result>
                <result name="searchBooks">searchBooks.jsp</result>
                <param name="path">F:/uploads/bookstore/books</param>
            </action>
            <action name="shoppingCart" class="org.goldtiger.bookstore.actions.ShoppingCartAction">
                <result name="viewMyCollection" type="redirect">../me/myCollection.jsp</result>
                <result name="putBook">putBook.jsp</result>
                <result name="input">putBook.jsp</result>
                <result name="gotoMyShoppingCart" type="redirect">../me/myShoppingCart.jsp</result>
                <result name="payMoney" type="redirect">../me/payMoney.jsp</result>
                <result name="myOrders" type="redirect">../me/user!getMyOrders.action</result>    
            </action>
        </package>
        
        <package name="admin" extends="struts-default" namespace="/admin">
            <action name="index">
                <result type="redirect">login!default.action</result>
            </action>
            <action name="right" class="org.goldtiger.bookstore.actions.RightAction">
                <interceptor-ref name="defaultStack">
                    <param name="workflow.excludeMethods">execute,input,getRightDetail,deleteRights</param>
                </interceptor-ref>
                <result>listRights.jsp</result>
                <result name="input">right.jsp</result>
            </action>
            <action name="admin" class="org.goldtiger.bookstore.actions.AdminAction">
                <interceptor-ref name="defaultStack">
                    <param name="workflow.excludeMethods">execute,input,default,login,getAdminDetail,deleteAdmins,editRights,updateAdminRights</param>
                </interceptor-ref>
                <result>listAdmins.jsp</result>
                <result name="input">admin.jsp</result>
                <result name="editrights">editRights.jsp</result>
            </action>
            <action name="login" class="org.goldtiger.bookstore.actions.AdminAction">
                <interceptor-ref name="defaultStack">
                    <param name="workflow.excludeMethods">login,logout,default</param>
                </interceptor-ref>
                <result name="login">adminLogin.jsp</result>
                <result name="logout" type="redirectAction">
                    <param name="namespace">/</param>
                    <param name="actionName">index</param>
                </result>
                <result type="redirect">frames.html</result>
            </action>
            <action name="category" class="org.goldtiger.bookstore.actions.CategoryAction">
                <interceptor-ref name="defaultStack">
                    <param name="workflow.excludeMethods">execute,login,input,getCategoryDetail,deleteCategories,listBooks</param>
                </interceptor-ref>
                <result name="input">category.jsp</result>
                <result>lstCategories.jsp</result>
                <result name="listbooks" type="redirectAction">book?categoryId=${#parameters['categoryId'][0]}</result>
            </action>
            <action name="book" class="org.goldtiger.bookstore.actions.BookAction">
                <interceptor-ref name="defaultStack">
                    <param name="workflow.excludeMethods">execute,input,getBookDetail,deleteBooks,viewImage,setStatus,setRecommend</param>
                </interceptor-ref>
                <result name="input">book.jsp</result>
                <result>lstBooks.jsp</result>
                <result type="stream" name="viewImage">
                    <param name="contentDisposition">inline;filename="${imageFileName}"</param>
                    <param name="inputName">inputStream</param>
                </result>
                <param name="path">F:/uploads/bookstore/books</param>
            </action>
            <action name="news" class="org.goldtiger.bookstore.actions.NewsAction">
                <interceptor-ref name="defaultStack">
                    <param name="workflow.excludeMethods">execute,input,getNewsDetail,deleteNews,searchNews</param>
                </interceptor-ref>
                <result>listNews.jsp</result>
                <result name="input">news.jsp</result>
                <result name="searchNews">searchNews.jsp</result>
            </action>
            <action name="users" class="org.goldtiger.bookstore.actions.UserAction">
                <result>listUsers.jsp</result>
                <result name="userDetail">userDetail.jsp</result>
                <result name="orders">orders.jsp</result>
                <result name="searchUsers">searchUsers.jsp</result>
            </action>
            <action name="shoppingCart" class="org.goldtiger.bookstore.actions.ShoppingCartAction">
                <result name="listOrders">listOrders.jsp</result>
                <result name="orderDetail">orderDetail.jsp</result>
            </action>
        </package>
    </struts>
      

  5.   

    看到了吧,我的struts.xml一点问题都没有
      

  6.   


    lz满有信心的嘛,那怎么还会出错呢!呵呵你看看是不是要再配置一个validation的excludeMethodsgood luck
      

  7.   

    我没有配置validators.xml文件,所以没必要配置这个参数啊
    哎,实在是搞不懂哦~~~~~
      

  8.   

    问题解决了,是该配置一个validation.excludeMethods参数。