Struts Actionの初期化処理
を行う場所は、PlugInを使うらしい。
まずは、PlugIn インターフェイスをimplementするクラスを作る。init()が初期化、destoroy()が終了処理になる。
package sample.add; import javax.servlet.*; import org.apache.struts.action.*; import org.apache.struts.config.*; import java.io.*; public class AddPlugIn implements PlugIn { String path_; public void destroy() { try { FileWriter w = new FileWriter(path_ + "exit.txt"); w.write("exit..."); w.close(); }catch(IOException ex) { ex.printStackTrace(); } } public void init(ActionServlet arg0, ModuleConfig arg1) throws ServletException { path_ = arg0.getServletContext().getRealPath("") + "/WEB-INF/classes/resources/"; try { FileWriter w = new FileWriter(path_ + "init.txt"); w.write("init..."); w.close(); }catch(IOException ex) { ex.printStackTrace(); } } }
struts-config.xmlにPlugInクラスを書く
<plug-in className="sample.add.AddPlugIn" />
property属性とかを使ってパラメータを渡すこともできるようだ。
そのときは、PlugInクラスにsetterメソッドを定義しておく必要がある。