2013-09-21 46 views
2

我想通過jQuery發送一個AJAX發佈請求到一個Struts2動作類來處理表單並接收JSON響應,但我還沒有想出如何去做。Struts2通過AJAX執行動作和響應

首先,我做的形式,並設置了Struts的這種形式沒有JavaScript的工作(試圖做漸進增強),現在我想獲得它通過jQuery的工作。我可以很容易地創建一個新的servlet來調用action類的validate和execute方法,並在那裏打印響應,但是我首先要確保可以只使用action類。

我已經使用內置的Struts校驗瞭解Ajax驗證,但我並不想這樣做。至少有一種方法可以通過Ajax獲取ActionErrorsActionMessages

回答

2

發送Ajax請求是通過集成的jQuery到框架,可用於處理的形式和操作的方式的數據的一些驗證那麼容易與Struts2的。

你不需要做太多隻是把jQuery plugin到您的項目。使用Struts2通過集成JSON plugin接收JSON響應也很容易。 JSON插件將JSON結果類型添加到可用於返回JSON響應的項目​​。

如果使用servlet來驗證和執行不能使用該框架提供的功能,即插件的動作類的方法,你必須自己做你自己的風險。

如果你不想使用Struts2的驗證框架,讓你想怎麼獲得採取行動的錯誤,或者您沒有使用操作的消息?這些action errorsaction messages只是包含文本的簡單集合。所以,你可以通過Ajax返回它們,沒有任何問題。

+0

哦謝謝你的鏈接! jquery插件非常棒! –

+0

除了我有問題。在所有ajax請求中,它將響應設置爲頁面html而不是實際的響應。我在這裏爲這個問題提出了一個新問題: http://stackoverflow.com/questions/18939057/struts2-jquery-plugin-responds-to-ajax-requests-with-html-of-the-entire-page –