對於
Practical RichFaces
的第五、六章的學習,可以說是很
“
痛苦
”
的。不像之前講
<a4j:>
那樣,很多概念和思路都是在摸索和顛覆中,得出來的。
雖然
Practical RichFaces
寫的不錯,但是其中也有不少語焉不詳的地方,這時候,
RichFaces
的線上
Demo
和使用者指南就非常有用了。通過仔細閱讀,才理解
裡面的一些細節。
開始我有一個誤區,以為所有的
Ajax Request
都是由
<a4j:>
的
4
個控制項完成的,
<rich:>
只是做一些邊邊角角比如
JavaScript
特效之類的工作。學到
<rich:suggestionbox>
的時候,發現原來
<rich:suggestionbox>
也在和
Server
進行著互動,以擷取建議值列表。
於是我輕易的掉進了第二個誤區,認為
<rich:>
類的控制項不能引發頁面級的
Ajax Requset
,不能引發表單提交。當我學到
<rich:simpleTogglePanel>
以及其他可以切換的
Panel
的時候,我的結論又失效了。
switchType
或
mode
屬性的
Server
和
Ajax
模式都可以引發表單提交,只是重新整理的範圍不同。
到這裡,我只能再次去歸納所謂的結論,也就是:
1.
<a4j:>
和
<rich:>
都能產生
Ajax Request
,只是前者給與使用者充分的自由度;而後者只給使用者有限的自由度,你只能選擇控制項提供的有限的幾種模式。
2.
對於
<rich:>
類控制項來說,能否產生表單提交,完全由控制項自身決定,具體控制項具體分析。
希望我上面的簡單結論不要被我明天的思路再次顛覆,呵呵。另一方面,也同時感到中文
RichFaces
書籍的匱乏。前兩天在網上書城好不容易查到一本關於
RichFaces
的書。一看評論,被讀者們罵得狗血噴頭。這兩天通過讀
Practical RichFaces
,發現老外寫書有時也會照搬文檔(不過人家還是會把例子重寫一遍,或者綜合出一些新的東西)。想想老外尚且會照搬文檔,國內的作者們生硬的翻譯後抄為己用,也就不足為奇了。看看國內的作者們的巨著,大部分都是“編著”,
95%
從別處“編”(抄)來,
5%
自己著。真正敢寫
XXX
“著”的,真是鳳毛麟角。
因此,我寧可看英文原版的,理解個百分之八九十,也比看國內“原創”的二手資料強得多。至少沒有那些劣質作者的一番曲解和蹩腳翻譯。