ardygithub / machinetta

0 stars 0 forks source link

AbstractBaseAction #13

Open ardygithub opened 5 years ago

ardygithub commented 5 years ago
                                        ベースクラスの改修案

◆改修規模:ベースクラス1件

① パッケージの変更
jp.co.XXXXX.business.PJNAME.common.action

PJNAME-web\
jp.co.XXXXX.business.PJNAME.common.controller

② クラス定義の上に、@PropertySourceのアノテーションを追記

@PropertySource("classpath:/META-INF/spring/forward.properties")                                        
public abstract class AbstractBaseAction {                                      

③ クラスに下記のメソッドを追加

protected String keyToAddress(string forwardKey,String requestMappingAddress) {                                     

    StringBuilder sb = new StringBuilder(requestMappingAddress);                                    
    sb.append("/");                                 
    sb.append(forwardKey);                                  
    //sb.toString()をキーとして、forward.propertiesから遷移先を取得して、戻す。                                  
    String forwardStr = null;                                   
    forwardStr= env.getProperty(sb.toString());                                 
    return forwardStr;                                  
}                                       

④ ログ出力クラスを変更
org.apache.log4j.Logger

org.slf4j.Logger

⑤ クラス定義にStruts属性を取り除く
public abstract class AbstractBaseAction extends ActionSupport implements
SessionAware, RequestAware {

⇒                                       

public abstract class AbstractBaseAction {                                      

⑥ 下記のインポートパッケージを変更する
org.apache.commons.lang.StringUtils

org.apache.commons.lang3.StringUtils

⑦ 下記のメンバ変数を追加する

/**                                         
 * 画面からコミットされたForm。                                         
 */                                         
protected BaseBean inForm = null;                                           

/**                                         
 * 画面に対応するホルダモデル。                                           
 */                                         
protected Model inModel = null;                                         
/**                                         
 * リクエスト。                                           
 */                                         
protected HttpServletRequest inRequest = null;                                          

/**                                         
 * レスポンス。                                           
 */                                         
protected HttpServletResponse inResponse = null;                                            

/**                                         
 * 遷移先定義プロパティファイルを読み込む用                                         
 */                                         
@Autowired                                          
private Environment env;