struts2攔截器如何返回json數據?如何使用Jquery(ExtJs)接收攔截器返回的數據?

轉自:http://www.17ext.com/showtopic-7761.aspx

<interceptors>
    <interceptor name="intercep" class="Interceptor.XACMLInterceptor"/>
</interceptors>
       
<global-results>
     <result name="warrn">/error.jsp</result>
</global-results>
<action name="showUserInfo" class="showUserInfoAction" method="showUserInfo">
      <interceptor-ref name="defaultStack"/>
      <interceptor-ref name="intercep"/>    
</action>

以上是攔截器代碼,action也成功被攔截,但是它不彈出error.jsp網頁,在firebug響應那裏出現了error.jsp了。。
我的問題是如何使前臺攔截後彈出error.jsp?

如果我想被攔截後,可以在ext界面上彈出個Ext窗口,那要如何實現呢?是<result name="warrn">/error.jsp</result>返回一個json數據麼?還是怎麼樣?求解。。。。

===============================================================================================================
其實你只需要改resulttype就行了。
你用了struts2+jsonplugin之後是不需要返回頁面的。所有的返回是在action中處理的。json插件會自動爲你自動生成數據。
這是我的配置。
 <!-- 公司管理模塊 -->
        <package name="comp" extends="json-default">
          <interceptors>
        <interceptor name="loginInterceptor" class="com.lenxeon.extjs.filter.LoginInterceptor"></interceptor>
      </interceptors> 
          <action name="compList" class="com.lenxeon.extjs.web.action.CompManagerAction" method="compList">
            <interceptor-ref name="defaultStack"></interceptor-ref>
        <interceptor-ref name="loginInterceptor"></interceptor-ref>
            <result type="json"/>
          </action>                  
          <action name="compAdd" class="com.lenxeon.extjs.web.action.CompManagerAction" method="compAdd">
            <interceptor-ref name="defaultStack"></interceptor-ref>
        <interceptor-ref name="loginInterceptor"></interceptor-ref>
            <result type="json"/>
          </action>          
          <action name="compEdit" class="com.lenxeon.extjs.web.action.CompManagerAction" method="compEdit">
            <interceptor-ref name="defaultStack"></interceptor-ref>
        <interceptor-ref name="loginInterceptor"></interceptor-ref>
            <result type="json"/>
          </action>         
          <action name="compDel" class="com.lenxeon.extjs.web.action.CompManagerAction" method="compDel">
            <interceptor-ref name="defaultStack"></interceptor-ref>
        <interceptor-ref name="loginInterceptor"></interceptor-ref>
            <result type="json"/>
          </action>                   
        </package>
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章