struts 2でファイルの絶対パスを取得する方法
883 ワード
方法1:
このメソッドはactionの一般的なメソッドで実行すれば問題ありませんが、static初期化に置くとエラーが発生します.
具体的にはなぜ研究されなかったのか
方法2:
得られた文字列は次のようになります.
D:/Java/Tomcat%206.0/webapps/プロジェクト名/WEB-INF/classes
また、パスにスペースが含まれている場合は「%20」と表示されます.
ServletActionContext.getServletContext().getRealPath(File.separator);// D:\xxx\
このメソッドはactionの一般的なメソッドで実行すれば問題ありませんが、static初期化に置くとエラーが発生します.
private static String basePath;
static {
basePath = ServletActionContext.getServletContext().getRealPath(File.separator);
}
具体的にはなぜ研究されなかったのか
方法2:
basePath = ProductStage.class.getClassLoader().getResource("")
得られた文字列は次のようになります.
D:/Java/Tomcat%206.0/webapps/プロジェクト名/WEB-INF/classes
また、パスにスペースが含まれている場合は「%20」と表示されます.
basePath = ProductStage.class.getClassLoader().getResource("")
.getFile().replaceAll("/WEB-INF/classes/", "").replaceAll("%20", " ").substring(1);