我們有一個使用Struts2-jQuery框架進行Ajax操作的Struts2應用程序。如下所示在Struts2-jQuery中使用Autocompleter(sj:autocompleter)標籤時,它向Struts2 Action jsonlanguages發出ajax請求。Struts2結果類型http頭500在sj中不觸發onErrorTopics:autocompleter
<s:url var="remoteurl" action="jsonlanguages"/>
<sj:autocompleter
id="languages"
href="%{remoteurl}"
delay="50"
loadMinimumCount="2"
/>
我們已經定義了結果錯誤類型爲這次行動如下,觸發內部服務器錯誤,而不是它得到完成了作爲一個成功的Ajax請求。
<result name="ERROR" type="httpheader">
<param name="status">500</param>
<param name="headers.a">a custom header value</param>
<param name="headers.b">another custom header value</param>
</result>
問題:現在這種做法會觸發其他所有Struts2的,jQuery的標籤,如sj:select
...等的"onErrorTopics"
,但它似乎並沒有被觸發同樣在sj:autocompleter
。有沒有人遇到過這個問題?如果是這樣,處理來自autocompleter的ajax請求期間發生的異常的最佳方法是什麼?