這裏有雲: 我通過這個如何將<s:actionerror />的值從一個jsp頁面攜帶到另一個頁面?
<head>
<meta http-equiv="Refresh" CONTENT="0;URL=populatefields.action">
</head>
刷新命名的index.jsp頁面並且是叫我的行動。這裏是我的struts.xml映射
<struts>
<package name="com.action" extends="struts-default">
<action name="*fields" method="{1}" class="com.action.RegisterAction">
<result name="populate">/register.jsp</result>
<result name="fields">/success.jsp</result>
<result name="error">/index.jsp</result>
</action>
我在這裏做什麼是對的index.jsp的負荷,我以這樣的URL 'populatefields.action'
刷新它。這將調用我的操作類和populate
方法(通配符方法調用).Populate方法從數據庫中選擇條目並將它們分配給表單字段屬性,並且將控件註冊到register.jsp中,其中一些值已填充。[即動態填充根據當前用戶]
在register.jsp形式的一部分,如果一些驗證檢查是否有喜歡 if(getUssername.equals("")) {this.addActionerror("Empty field -Uname-"); return error;}
的問題是在返回「錯誤」,控制進到index.jsp和然後填充方法和自動領域填充,但填充方法不會拋出任何錯誤,所以是空的或錯誤丟失... 任何想法如何我可以訪問錯誤?通過在我的操作類中設置dem全局?動作錯誤來自index.jsp,但我想刷新頁面evry時間它加載選擇值形式數據庫...我可以從一個jsp頁面的動作錯誤的值到另一個?
如果你想要更復雜的動態行爲,你只能使用html獲得更好的效果,最簡單的事情就是使用AJAX。這裏有很多使用JSON插件的例子。通過將錯誤推送到會話中,您所要求的可能是可能的,但這將是一個脆弱的解決方案,不適用於多種Web應用程序,因此最好堅持一種適用於大多數情況的方法。 – Quaternion
它檢查我的答案! – Nil