Struts2 Тип результата HTTP-заголовок 500 не вызывает onErrorTopics в sj: autocompleter

У нас есть приложение Struts2, использующее структуру Struts2-jQuery для операций Ajax. При использовании тега Autocompleter (sj:autocompleter) в Struts2-jQuery следующим образом он отправляет ajax-запрос к jsonlanguages ​​Struts2 Action.

<s:url var="remoteurl" action="jsonlanguages"/>
<sj:autocompleter
    id="languages"
    href="%{remoteurl}"
    delay="50"
    loadMinimumCount="2"
/>

Мы определили тип результата ERROR для этого действия следующим образом, чтобы инициировать ошибку внутреннего сервера, а не завершать ее как успешный запрос 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>

Проблема: теперь этот подход вызывает "onErrorTopics" во всех других тегах Struts2-jQuery, таких как sj:select ..etc, но, похоже, он не вызывает того же самого в sj:autocompleter. Кто-нибудь сталкивался с этой проблемой? Если да, то как лучше всего обрабатывать исключения, возникающие во время запроса ajax от автозаполнения?


person yathirigan    schedule 12.09.2012    source источник


Ответы (1)


Я думаю, не получится сделать обработку исключений в представлении, пока вы сами не проверите валидность возвращаемого json.

Кстати, автозаполнение не возвращает никакого результата, кроме объекта json.

Вы можете проверить json, возвращаемый действием в javascript или jquery.

person Amit Kumar    schedule 24.09.2013