2011-05-05 28 views
1

我們有一個使用<sx:tabbedpanel>的Struts2應用程序。我知道這已被棄用,但我們還沒有時間來取代它。使用從ajax加載的div的Struts2驗證

我們通過使用<sx:div>標籤並指定href屬性來填充選項卡,該屬性會對服務器進行異步調用以填充選項卡的內容。這個缺點是我們失去了驗證信息,如<s:actionerror>

以下是我們正在發生的事情...當用戶執行無效操作時,操作類會返回驗證錯誤。當生成的jsp被加載時,驗證消息可用。但是,<sx:div>然後將異步回調到服務器以重新加載內容。這一次,動作類只是加載要顯示的數據,所以它不會生成任何驗證消息。然後這個ajax調用的結果顯示在瀏覽器中,沒有任何驗證消息。

我在網頁上看到很多使用<sx:div>標籤的例子,所以我猜這是以前解決的問題,我們還沒有找到它。

有沒有人知道教程或例子,說明如何在這種情況下進行驗證?

感謝您的幫助,我真的很感激。

回答

0

會是有意義的把這樣的錯誤的tabbedpanel之外:

<s:fielderror /> 
<sx:tabbedpanel...> 
... 
</sx:tabbedpanel> 

也許我們可以幫助你多一點,如果你可以張貼一些示例代碼或提供更多信息,以什麼樣的錯誤預計和標籤面板的內容是什麼。

0

我們發現我們可以通過使用<s:action>標籤來填充div。這是在初始請求時呈現的,它不會在稍後進行ajax調用。因此,JSP可以訪問驗證消息和錯誤。