SSブログ

配下のファイルを文字コード変換して保存していくマクロ [サクラエディタ]

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)

nice!(0)  コメント(0) 

【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 (例外発生時も実行される)

コメント(0) 

正規表現 [正規表現]

fooInfoForm.getHoge()

fooInfoForm.hoge

検索:(\w+).get(\w+)\(\)
置換:$1.\l$2

タグ:正規表現
nice!(0)  コメント(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);
}

}

}

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。