我正在使用Struts 2和Spring自動裝配。現在,默認策略設置爲by-name,但通常我們使用構造函數,並且只有一個實現類可用時,回退纔會在屬性中自動裝入。Struts2 + spring autowiring action by-name沒有暴露某些屬性
有一個屬性,但是我想要連接到一個具有幾個實現類的操作類,所以我讓Action成爲一個java bean,並且可以設置屬性作爲字段。不幸的是,這些將被使用(顯然)的唯一方法是如果他們有一個公共的getter/setter,它也會在請求時將它們暴露給類型轉換器。換句話說,如果客戶端將他們的名字作爲表單域或參數添加到請求中,那麼Struts會嘗試將這些值寫入它們。
所以我的問題是,實際上是否可以使用名義自動裝配而不暴露這樣的屬性(這可能或可能不是安全隱患),還是我最好使用XML並將Action定義爲帶範圍原型的對象?
我不確定你在'請求時間'類型轉換器是什麼意思 – 2012-03-13 11:50:32
@ UmeshAwasthi我試圖進一步澄清。 – wds 2012-03-13 12:37:35
你可以很容易地告訴S2 param攔截器排除你的動作類中設置的某些參數 – 2012-03-13 13:09:37