前兩天初步認(rèn)識了一下struts2
今兒看來教程的第二三講,搞清了一些前面的一些猜測或是疑問
1、struts2是不用<html:...>標(biāo)簽了,統(tǒng)一成了<s:...>
如下這樣:
<s:form action="Converter">
<s:textfield name="point" label="Point"></s:textfield>
<s:submit label="submit"></s:submit>
</s:form>
顯示效果:

注意到<s:textfield name="point" label="Point"></s:textfield>
中的label屬性,它指定了文本框前面顯示的內(nèi)容,還自動加了冒號,哈哈,挺聰明的嘛,但是擔(dān)心這樣在復(fù)雜的頁面設(shè)計中是不是好使。
哦對了,要想這么寫,要在頁面上方加上這個:<%@ taglib prefix="s" uri="/struts-tags" %>
2、Action
前面說的Action不再需要繼承任何struts類,現(xiàn)在看來要失望了,為了方便起見還是建議集成ActionSupport類,目前覺得有用的是ActionSupport中定義了幾個static的result name,比如SUCCESS、ERROR,原來的return "success";現(xiàn)在可以寫成return super.SUCCESS;,將標(biāo)識用的字符串常量定義成static的是一直提倡的,還有就是validate()方法,驗證有錯誤可以調(diào)用addFieldError()方法,好像就是struts1 ActionForm里的東西,有所改進的是super.addFieldError("username", "username is null");將在頁面中顯示的效果為:錯誤信息"username is null"將在名字為"username"文本框的上面顯示,這些如果能用ajax實現(xiàn)就好了。
對于Action解耦,可能在于它不再需要HttpServletRequest 、HttpServletResponse這樣的容器運行時參數(shù)吧
Powered by Zoundry Raven