配下のファイルを文字コード変換して保存していくマクロ [サクラエディタ]
1.配下のファイルパスを作成
dir /s /b /a-d target
2.マクロ。test-macro.js
// ファイルシステムオブジェクト生成
var fs = new ActiveXObject("Scripting.FileSystemObject");
// パスリストを開く
var file = fs.OpenTextFile("C:/work/test/path_list.txt", 1, false, -2);
// 1行ずつ読み込み対象ファイルを上書き保存(UTF-8、LF)
while (!file.AtEndOfStream) {
var filepath = file.ReadLine();
Editor.FileOpen(filepath);
Editor.FileSaveAs(GetFilename, 4, 2);
Editor.FileClose();
}
// パスリストファイルをクローズ
file.Close();
■マクロ
文字コード
0 SJIS(省略時規定値)
1 JIS
2 EUC
3 Unicode
4 UTF-8
5 UTF-7
6 Unicode(BigEndian)
改行
0 変更しない(省略時規定値)
1 CRLF(Windows)
2 LF(UNIX)
3 CR(Mac)
dir /s /b /a-d target
2.マクロ。test-macro.js
// ファイルシステムオブジェクト生成
var fs = new ActiveXObject("Scripting.FileSystemObject");
// パスリストを開く
var file = fs.OpenTextFile("C:/work/test/path_list.txt", 1, false, -2);
// 1行ずつ読み込み対象ファイルを上書き保存(UTF-8、LF)
while (!file.AtEndOfStream) {
var filepath = file.ReadLine();
Editor.FileOpen(filepath);
Editor.FileSaveAs(GetFilename, 4, 2);
Editor.FileClose();
}
// パスリストファイルをクローズ
file.Close();
■マクロ
文字コード
0 SJIS(省略時規定値)
1 JIS
2 EUC
3 Unicode
4 UTF-8
5 UTF-7
6 Unicode(BigEndian)
改行
0 変更しない(省略時規定値)
1 CRLF(Windows)
2 LF(UNIX)
3 CR(Mac)
【Spring】共通処理:Interceptor [Spring]
■applicationContext.xml
<mvc:interceptors>
<mvc:interceptor>
<mvc:mapping path="/*"/>
<bean class="alpha.web.common.AppHandlerInterceptor" />
</mvc:interceptor>
</mvc:interceptors>
■Java
HandlerInterceptorAdapterを継承
preHandle
postHandle
afterCompletion (例外発生時も実行される)
<mvc:interceptors>
<mvc:interceptor>
<mvc:mapping path="/*"/>
<bean class="alpha.web.common.AppHandlerInterceptor" />
</mvc:interceptor>
</mvc:interceptors>
■Java
HandlerInterceptorAdapterを継承
preHandle
postHandle
afterCompletion (例外発生時も実行される)
2018-10-15 07:52
コメント(0)
リフレクション:親クラス、getter対象、実行結果 [カスタムタグ]
■hiddenタグ生成:親クラスの配列をフィールドに持つgetterへ設定する
package alpha.web.tag;
import java.lang.reflect.Method;
import java.util.ArrayList;
import java.util.List;
import alpha.web.system.form.SectionCondForm;
public class BusinessHiddenTagHandler extends BeanHiddenTagHandler {
public static void main(String args[]) throws ReflectiveOperationException {
BusinessHiddenTagHandler main = new BusinessHiddenTagHandler();
SectionCondForm form = new SectionCondForm();
// 親クラスのメソッド一覧
Method[] methods = form.getClass().getSuperclass().getMethods();
// 対象フィールド名(getter/setterのget/setを除外した文字列)
List<String> fieldList = new ArrayList<String>();
// 対象フィールド名(値取得用のメソッドリスト)
List<Method> getterMethodList = new ArrayList<Method>();
// メソッドの中でgetterだけを抽出してリストに追加
for (Method method : methods) {
String methodName = method.getName();
System.out.println("->" + methodName);
// getterか判定。戻り値の型で配列か判定するためsetterは使えない
if (methodName.startsWith("get") && !methodName.equals("getClass")) {
// getterメソッド追加
getterMethodList.add(method);
// フィールド名の追加(hidden出力項目名)
String field = methodName.substring(3);
field = field.substring(0, 1).toLowerCase() + field.substring(1, field.length());
// 配列の場合、[0]を追加。(1レコードしか登録しない前提)
if (method.getReturnType().isArray()) {
field = field + "[0]";
}
fieldList.add(field);
}
}
for (int i = 0; i < fieldList.size(); i++) {
String[] value = (String[]) getterMethodList.get(i).invoke(form);
System.out.println(fieldList.get(i) + "=" + value[0]);
String hiddenTag = main.getHiddenTag(fieldList.get(i), value[0]);
System.out.println(hiddenTag);
}
}
}
package alpha.web.tag;
import java.lang.reflect.Method;
import java.util.ArrayList;
import java.util.List;
import alpha.web.system.form.SectionCondForm;
public class BusinessHiddenTagHandler extends BeanHiddenTagHandler {
public static void main(String args[]) throws ReflectiveOperationException {
BusinessHiddenTagHandler main = new BusinessHiddenTagHandler();
SectionCondForm form = new SectionCondForm();
// 親クラスのメソッド一覧
Method[] methods = form.getClass().getSuperclass().getMethods();
// 対象フィールド名(getter/setterのget/setを除外した文字列)
List<String> fieldList = new ArrayList<String>();
// 対象フィールド名(値取得用のメソッドリスト)
List<Method> getterMethodList = new ArrayList<Method>();
// メソッドの中でgetterだけを抽出してリストに追加
for (Method method : methods) {
String methodName = method.getName();
System.out.println("->" + methodName);
// getterか判定。戻り値の型で配列か判定するためsetterは使えない
if (methodName.startsWith("get") && !methodName.equals("getClass")) {
// getterメソッド追加
getterMethodList.add(method);
// フィールド名の追加(hidden出力項目名)
String field = methodName.substring(3);
field = field.substring(0, 1).toLowerCase() + field.substring(1, field.length());
// 配列の場合、[0]を追加。(1レコードしか登録しない前提)
if (method.getReturnType().isArray()) {
field = field + "[0]";
}
fieldList.add(field);
}
}
for (int i = 0; i < fieldList.size(); i++) {
String[] value = (String[]) getterMethodList.get(i).invoke(form);
System.out.println(fieldList.get(i) + "=" + value[0]);
String hiddenTag = main.getHiddenTag(fieldList.get(i), value[0]);
System.out.println(hiddenTag);
}
}
}
2018-10-04 07:45