Re: [JSP ] JSP可以傳物件嗎?

看板java作者 (骨頭)時間17年前 (2008/06/13 15:42), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串6/7 (看更多)
※ 引述《dahanhsi (dahanhsi)》之銘言: : 感謝大家的幫忙<(_ _)> : 問題是在沒有import A沒錯XD slalala猜對啦 : 因為是第一次寫servlet/JSP都在網路上找教學的,沒有學的很完整 : 問了很基本的問題sorry啦 : 然後回這篇是想問 : 在這種情況(產生報表),不管是傳hashMap ArrayList或object ArrayList, : 在view部份還是難免要跑個loop和用method (get())把資料取出來 : 這樣好像就不是很純粹的MVC了(在jsp還是有java code混雜xhtml code的部份) : 有沒有比較好的作法呢? 小弟最近在學的webwork就是在解決這個問題的, 不過我也還沒有學的很精,把目前的心得大概打出來做分享。 ──────────────────────────────── 以webwork的架構而言,他是在後端有一個Action Class做先行者, 當網頁commit(或get直接連)時(在action="xxx"的地方)會指定一個名字, 代表給要執行某一個Action Class(下一段會介紹), 他透過xwork.xml指定那個名字跟Action的關係, 也可以在xwork裡面為同一個ActionClass指定多個name。 --- Action本身是個類別,他扮演的角色有點像是JavaBean, 前面form commit過來的東西用過來的name做變數, 並且實做setter他就會自己把這些name跟對應的資料給set好。 然後會執行一個名字叫 execute 的method , 在這裡可以做到一般人常忽略的狀態判斷, 比方說參數不足、或什麼,可以傳回一個PageNotFound指標, 再透過webwork從xwork.xml的設定轉到錯誤頁面去。 假設沒有前述的異常狀況,這裡就應該要做到一些基本的運算, 這裡的目標就是希望把view端需要的model都準備好, 比方說像讀資料庫後要顯示的List就應該在這裡準備好。 ---- 再來就是會在接一個view端的.jsp檔, (一樣在xwork.xml中設定要用那個jsp當view端) 只要在Action Class 中有寫Getter的,在view端全部都接的到。 (沒寫setter或沒有同名成員沒關係,只看getter) view端基本上應該都是以顯示為主,撈資料生list應該要在之前就做完, 如果真的非不得已這裡也要做運算,也以taglib能做的運算為主。 這裡一般來講都是用jstl搭配el來做, 比方說 <c:foreach ></c:foreach>。 雖然說這些tag本質上可能沒有跟 java code差很多, 但是可以讓jsp檔案本身保持類似xhtml的結構化與一致性。 ──────────────────────────────── 很複雜吧,關於這點我真的不得不感謝Q老大的耐心指導。=.=a ──────────────────────────────── 只看理論很抽象... 我用webwork的sample改了一份最基本版的code... http://q84142665.myweb.hinet.net/Java/HelloWebWork.war war檔怎麼發佈請自己依各家web server google -.-;; ──────────────────────────────── 如果出現xalan錯誤,tomcat 裡面的common\endorsed資料夾 有兩個 jar ,用 http://xml.apache.org/xalan-j/ 替換。 那是jdk跟tomcat 解析xml的lib 版本不合的關係... -- What do you want to have ? / What do you have? 從書本中,你可以發現我的各種興趣。 從CD中,你可以瞭解我所喜歡的偶像明星。 或許從文字你很難以瞭解一個人,但從物品可以。 My PPolis , My past. http://ppolis.tw/user/Tony -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 220.134.27.68
文章代碼(AID): #18KYJik7 (java)
討論串 (同標題文章)
文章代碼(AID): #18KYJik7 (java)