![](/img/trans.png)
[英]Struts2 submit tag not working in struts2.1.8 with method attribute
[英]Struts 2 missing reset method?
我正在將一個項目從Struts 1.3遷移到Struts 2.0。 現在,我已經閱讀了Web上的各種資源,但是找不到Struts 2.0中的Struts 1.3 reset()
形式方法。
我的動作類擴展了ActionSupport
並實現了Modeldriven
。 我已經在動作類中實現了validate方法,並且效果很好。 但是,當表單沒有錯誤且提交已正確完成時,頁面將重新加載初始值。
我希望我會收到一個空白表格。 我尋找了reset()
表單方法,但找不到。 當前,我將所有表單值明確設置為空白。 我不認為這是一種好的編程習慣。 請建議如何在struts 2.0中實現表單reset()。
編輯:好的,您正在使用Tiles(我從未使用過),然后嘗試其他解決方案:
如果您有一個空的JSP磁貼,並且在用戶編譯了其字段並提交了表單之后,您希望始終清除這些字段...那么,在Action中僅聲明SETTERS而不是GETTERS怎么辦?
您只能從JSP設置為Action,而不能從JSP讀取它們……那么您的字段在頁面中將始終為空,並且始終由Action中的設置者重寫。
如果我明白了,那么您在JSP上,則調用了Action(或其他Action)的saveStuff()方法,然后返回頁面...
在這種情況下,您可以使用RedirectAction返回類型,該類型將剝離請求中的所有參數,並將請求重定向到Action的execute()方法。
所以,代替
<action name="myAction" class="com.blabla.myAction">
<result name="success">/myPage.jsp</result>
</action>
做就是了
<action name="myAction" class="com.blabla.myAction">
<result name="success">/myPage.jsp</result>
<result name="stuffSaved" type="redirectAction">
<param name="actionName">myAction</param>
</result>
</action>
這樣,您可以重新進入初始狀態(假設您沒有將任何內容放入JSP讀取的會話中)。
因為您的Action
和Form
在Struts2中位於同一類中,所以您必須實現自己的reset()
方法以清除所需的任何數據。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.