2010-05-22 66 views
1

我想知道,如果可能的話,在Struts2,以HTML表單的自動場沒有getter和setter映射到那些動作的,。Struts2的形式來操作字段映射自動

很明顯,通過獲得者和制定者或ParameterAware interface and the Map,字段可以在動作中設置,但我只是想知道否則有一種方法。

回答

1

模型驅動是正確的選擇:)

2

第一,而不是「與getter和setter領域」的角度思考建議您認爲在「bean屬性」這裏條件。 Struts2(和大多數java框架)以這種方式思考,他們通常不關心(以及正確)這些「屬性」是否是真實的字段。

你的問題的簡短答案是:不。

但請注意,Struts2非常靈活 - 當我說「不」時,我的意思是「使用默認攔截器」。你總是可以編寫你自己的攔截器,而不是默認的做 - 不好的想法國際海事組織。

執行該映射的攔截器(基本上)是參數攔截器From its documentation

這個攔截獲取所有參數從ActionContext#getParameters() 和 通過 調用ValueStack#setValue(String, Object) 通常導致一個形式請求中提交的值 被施加到一個動作中的值 設置它們的值堆棧上疊加。

,展望ValueStack.setValue(String,Object)我們讀到:

嘗試在堆棧使用的默認搜索 爲了給定 表達坐落在一個 豆一個屬性。

所以你有。

+0

,如果我說的bean,然後通過在Java Beans標準的getter和setter都無需說中。我只是試圖更清楚。另外,正如你所說的那樣,我會去ModelDriven。 :) – hkansal 2010-05-25 05:16:15

相關問題