本帖最后由 webrobot 于 2010-10-21 15:50:32 编辑

解决方案 »

  1.   

    可以尝试以下方法:1.url访问还是通过jsp形式方法。2.在jsp中使用<s:action />标签取得数据。
      

  2.   


    1、直接通过jsp,在系统中就混乱了,一部分用jsp,一部分使用action。
    2、不是太喜欢使用struts的标签,尽量使用jstl或者普通html。还有没有方法了?另外,若真的没有方法了,我搂顶写的是否只能这样?
      

  3.   

    应该可以在url请求后加入token参数,标签就是干这个用的,看看struts源码就知道参数名和参数值了
      

  4.   


    用一个action,url加参数,貌似可以。不过要测试一下。今天没空了,下周一把。
      

  5.   

    TokenInterceptor是集成MethodFilterInterceptor类的,楼主只需要在配置文件中将不需要拦截的方法写入就可以了。如下: <package name="nbchinaUser" namespace="/control/user" extends="base">
             <interceptors>
                <interceptor-stack name="tokenStack">
                    <interceptor-ref name="defaultStack"/>
                    <interceptor-ref name="token">
                       <!-- 设置需要进行排除的方法,如下-->
                       <param name="excludeMethods">manage_addUI</param>
                       <!-- 或者只设置需要进行拦截的方法,如下-->
                       <param name="includeMehtods">methodA,methodB</param>

                    </interceptor-ref>
                </interceptor-stack>
            </interceptors>
           
            <action name="ui_*" class="com.nbchina.struts2.user.UserManage" method="{1}" >
             <result name="add">/WEB-INF/Page/User/add.jsp</result>
                <result name="edit">/WEB-INF/Page/User/edit.jsp</result>
                <result name="privilegeGroupEdit">/WEB-INF/Page/User/privilegeEdit.jsp</result>
            </action>
            <action name="manage_*" class="com.nbchina.struts2.user.UserManageAction" method="{1}" >
                <interceptor-ref name="tokenStack" />
                <result name="invalid.token">/WEB-INF/Page/GlobalResults/controlResult.jsp</result>
            </action>
            
            
        </package>