我把println()
放在Action類的每個方法中。ModelDriven和Prepare的序列?
我以爲訂單是; 準備→執行→getModel。
因爲我記得我在書中讀過它,所以我曾經在prepare()
中構建了豆類並做了一些邏輯,然後在中返回SUCCESS。 我認爲getModel是將bean推送到valueStack,對嗎?
......無論如何,控制檯向我展示了這一點。這很奇怪, prepare→getModel→執行。
這對我來說是一個巨大的問題。很難用英語解釋原因......但我會盡力的!
我用來創建每個操作類,這是處理相同的豆,當然有相同的代碼(變量,和他們的getter和setter)重複在每個操作類。
現在我試圖創建一個操作來避免重複。這個動作類有幾個方法(如這樣映射到struts.xml中; <action name="View_board" method="view">
)。
正如我們在控制檯中看到的那樣,view()
在動作類的最後被調用,如。 prepare()
只建立豆類,而view()
確實做了真正的工作。但在調用view()
之前調用getModel()
,因此沒有機會將Bean放入ValueStack。
我希望你們明白我想說明什麼。
總結起來,有每個動作類,如BoardView,BoardDelete,BoardWrite ...,他們運作良好!但我討厭重複的東西,所以我創建了BoardManager類。這個類有每個方法(如view()
),它是由類(如BoardView)處理的。但是這個視圖()在調用getModel()
之後調用,所以bean(返回getModel()
)沒有機會被推送到ValueStack。
請幫我一把。教我在實地的技術訣竅。我正在自己開發這一切,這讓我感到很難受。
謝謝!
從另一個奇怪的事情。在控制檯中有3個getModel ..意味着該框架試圖獲得模型3次,這是失蹤..我猜 – Deckard 2010-08-10 11:30:06