標籤:

struts action scop 問題 一個jsp 多個action form表單提交給哪個action html:link 提交

action-mappings中action中的scop默認為session,如果當前jsp html form 中的action與 當前後台執行的action不是同屬一個action 的話,即使兩個action同時引用相同的actionForm ,在jsp 中html form 下的元素如果不引用name =「actionFormName」 的話,值會取不到,原因是正在執行的action 的scop 為request,而又因為兩個jsp所擁有的actionForm不是同一個實例。在jsp頁面中如果存在多個提交的action,且action 的scope 為request, 提交執行action時,form表單的值只會提交到html:form 中的那個action 所對應的form中。存在一種情況:如果在跳轉到jsp之前,跳轉到action進行初始化,而初始化的頁面scop 為預設的情況,即為session的狀態,此時在jsp頁面提交到另外的action時,在之前的初始化action中設置的form 元素的值將保留到當前的action 中,因為為session狀態,從初始化過來時,form實例保存下來了,再次提交時值就保存下來了。一個頁面存在多個aciton時,如果scop為request,需要將form 元素的name 屬性指定為當前的form 在struts config中的自定義名稱,這樣才能在actionForm中訪問得到,原因是:一個頁面存在多個提交的action ,而form 表單提交時,如果scop為request,struts會將表單元素的值提交到html:form 中指定的那個action,這時在其他action 中所創建的actionForm實例中就沒有來自jsp頁面提交的值,需要將form表單元素的name 屬性指定為actionForm 名稱,struts框架會將其引用到當前的action中。用html:link 或<a>提交到acion時,在onclick事件之前會提交頁面到指定的href中,然後執行action,action執行完後,頁面不會跳轉到foward指定的頁面。
推薦閱讀:

每日一題:Excel 開發工具中表單控制項的使用(文章最後有彩蛋)
如何用表單優雅的發送營銷簡訊?
超實用HR工具包:5000個表單、3000個案例、200個PPT模板,做HR的都應該收藏!
哪一刻,你意識到平窮限制了你的想像
換個角度談表單設計

TAG:表單 | 問題 |