我有兩個Struts2操作。我想在另一個行動中使用公開的行動方法。是否可以通過new
運營商調用操作並調用其公共方法? (重用一些常用功能的緣故)在另一個操作中通過構造函數調用Struts動作是否是一種很好的做法?
public class OneAction extends ActionSupport{
public void doSomeThing(){
// some code
}
public String execute(){
// some code
}
}
public class AnotherAction extends ActionSupport{
public String execute(){
/* is it ok?*/
new OneAction().doSomeThing();
}
}
嗯。對,我應該更好地將這個通用功能轉移到服務層。並在兩個操作中調用服務層。 – 2012-04-25 16:22:51
服務層 - 完全。 POJO接口和實現。即使你有一天決定拋棄Struts,或者從移動平臺調用它們,這些也是可用的。 – duffymo 2012-04-25 16:39:29
但是,我應該在該POJO中有請求對象嗎?這樣我的session/cookies的邏輯也可以在那裏提到。 – 2012-04-26 10:29:59