struts的html標簽<html:form></html:from>和html標簽<form></from>有什么區別
1、無論是struts1還是struts2的標簽,都提供了他們對于驗證框架的支持,給我們實現驗證提供了很多方便。
struts的html標簽<html:form></html:from>和Struts2的<s:form></s:form>標簽是對form標簽的封裝,是struts框架自己定義的標簽,便于和他的mvc中的form結合使用。但經過查看兩個框架的源碼發現,最好還是用html標簽,建議少用struts標簽,因為一個標簽就一位一個class,那必然占用jvm的內存,造成頁面加載速度緩慢。
就效果而言,他們達到的效果是一樣的,struts 的html標簽不能脫離動態form而獨立運用。但是我們在平時的開發過程中,有的情況下并不需要struts form的校驗功能,但同時希望能把頁面的值保留下來,比如:查詢條件的輸入。所以他有他的局限性
<html:form>的三個特有作用
1.自動生成html文檔的<form>標簽,其focus屬性還可以生成相應的JavaScript代碼
2.自動獲取action屬性中路徑所對應的scope域中的FormBean,存在則獲取,不存在則創建新的,再把這個FormBean以一個特殊關鍵字保存在request中,以便其中的<html:xxx>獲取值是使用
3.自動檢查Session中是否存在Token,是則生成隱藏表單域,以防止表單的重復提交
還有些標簽用起來要比普通的html標簽方便的多(代碼量變少了),比如html_link 、 html_optionsCollection 、 html_checkbox 、 html_multibox 等,像這些下拉列表、復選框等的回顯用Struts的html標簽非常容易實現,普通html也簡單,但代碼一大堆。