Struts與Tiles我就不多說了。我們在設計網頁時,需要決擇在一個網頁裡在不同的輸入部份應該使用相同的一個form或是不同的form。一個例子是畫面上右上角的使用者登入輸入帳號密碼的欄位與主畫面功能的資料輸入欄位。使用者登入欄位always會出現在那裡讓使用者可以在任何時候登入(當然也可以設計成只是一個連結讓使用者可以在任何時候連結到登入頁面)。在這樣的情況下,設計者必須決定該使用一個form或不同的form。
再加上另外一個條件:我們在開發時使用不同的module。Struts可以將不同的action與form寫在多個struts-config檔裡。這有2種情況,1種是真的只是寫在多個struts-config檔裡,另外一種是以module的型態來設計。一但使用了module,request中module的轉換都要使用switchAction(看不少文件都這麼寫...,但我本身也試過使用module卻不使用switchAction的情況)。在同一個畫面有必要使用2個form的情況下,struts action與form的區分我建議使用第一種方式:將action與form的設定分散在不同的struts-config 裡。因為當登入部份與主畫面的form屬於不同module時會無法執行;在switch module後,整個頁面就是那個module了,不可以有另外一個module的action path或form存在。當然,如果前面這個假設條件不成立的情況下,當然是使用module了。如果要說用不用module有什麼差別,我認為就如同JAVA的Class有沒有放在package裡一樣;如果你可以保證class name怎樣都不重覆,又在檔案不管有多少的情況下,都可以找到想要的檔案,那package的用處可能也不太大了。
沒有留言 :
張貼留言