struts2校验再提交多条提示信息
?使用Struts2 驗證框架,驗證信息重復多次出現。
?
?????? 第一次提交表單。某個數據不符合規則,就會出現一條錯誤信息。再次提交,上次顯示的錯誤信息不消失,又多出一條一模一樣的錯誤信息。提交幾次,就會多顯示幾條一模一樣的錯誤信息。
?
? ? ??
?
?
試著將 input 改為 重定向 <result name="input" type="redirect">validate.jsp</result>
?
???? 但是錯誤信息沒提示了。
?????Google到
?
struts2的action不是單例模式,每提交一次就會生成一個對象,你可以在action中加入以下代碼查看Map對象中的驗證信息
?
解決方法:我用的是spring管理action,在bean中加入scope="prototype"就可以了例如:
<bean id="userAction" class="com.test.action.user.UserAction" scope="prototype">
scope="prototype" 會在該類型的對象被請求時創建一個新的action對象。如果沒有配置scope=prototype則添加的時候不會新建一個action,他任然會保留上次訪問的過記錄的信息。
scope沒有配置默認是singleton; 如果是singleton的話只生成單例的action這樣所有的請求都會往同一個action中執行。所以就會出現這種情況:struts2校驗再提交多條提示信息
關于scope屬性可查看http://blog.csdn.net/cswhale/article/details/8867162#java
總結
以上是生活随笔為你收集整理的struts2校验再提交多条提示信息的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: struts2通过基于XML的配置实现校
- 下一篇: extjs获取当前时间