「kaz_javaSpringBootプログラム自動作成◎生成ツール」ajaxで名称表示。などのバグ修正
「kaz_javaSpringBootプログラム自動作成◎生成ツール」java ,SpringBoot
https://www.vector.co.jp/soft/winnt/prog/se523123.html
のバグ修正が完了した。本日VectorにVer1.4(202109080000)で登録依頼する。
修正履歴は以下のようになる。
・1.4(202109080000)
1.バグ修正
■「検索・入力ajax」(1.2(202108180000)で追加)ができるようになったので
Long項目に"aaa"が入力できるようになり、例外が発生する。
対処:DbElementsControllerでエレメントがLongのときに、
入力が数字でないとき空文字名称を戻すことにした。
補足:「検索・入力プルダウン」(SELECT項目)時はエレメント値しか選べないので例外発生はなかった。
①DbElementsController.java
例:修正前
if (fmElementNm.equals("ary_lrgmidsml_biztype")) {
if (!ObjectUtils.isEmpty(fmLrgKey)) {
//表示名を設定
map.put("LrgName",dbElementsService.getBizname(Long.parseLong(fmLrgKey), getAllFlg));
} else {
map.put("LrgName", "");
}
}
修正後
if (fmElementNm.equals("ary_lrgmidsml_biztype")) {
if (!Functions.isItemEmptyOrNoGood(fmLrgKey, true)) {
//表示名を設定
map.put("LrgName",dbElementsService.getBizname(Long.parseLong(fmLrgKey), getAllFlg));
} else {
map.put("LrgName", "");
}
}
②com.kaz01u.demo.utils.Functions.javaに追加
/**
* 項目値のチェック。
* @param str 項目値
* @param longKbn true:Long false:Long以外
* @return true:NULLまたは空白または属性例外、false:NULL以外かつ空白以外かつ属性例外以外
*/
public static boolean isItemEmptyOrNoGood(String str, boolean longKbn) {
boolean flg = true;
if (!ObjectUtils.isEmpty(str)) {
if (longKbn) {
boolean isNumber = str.codePoints()
.allMatch(Character::isDigit);
if (isNumber) {
flg = false;
}
}else {
flg = false;
}
}
return flg;
}
③hinagata中の変更は
変更内容
import com.kaz01u.demo.utils.Functions;
ObjectUtils.isEmpty(fmLrgKey) → Functions.isItemEmptyOrNoGood(fmLrgKey, ■{LrgKeyLongKbn}■)
ObjectUtils.isEmpty(fmMidKey) → Functions.isItemEmptyOrNoGood(fmMidKey, ■{MidKeyLongKbn}■)
ObjectUtils.isEmpty(fmSmlKey) → Functions.isItemEmptyOrNoGood(fmSmlKey, ■{SmlKeyLongKbn}■)
対象ファイルは
作成例\hinagata\java\controller\01_00_DbElementsController.txt
作成例\hinagata\java\controller\01_03_00_DbElementsGets_LrgMidSml部品.txt
作成例\hinagata\java\controller\01_03_00_DbElementsGets_LrgMid部品.txt
作成例\hinagata\java\controller\01_04_00_DbElementsGets_LrgMidSml部品.txt
作成例\hinagata\java\controller\01_04_00_DbElementsGets_LrgMid部品.txt
作成例\hinagata\java\controller\01_04_00_DbElementsGets_Lrg部品.txt
④VBAの変更は
templateなどOtaasukeクラス
■前回の修正1.3(202108290000)で、各テーブル用コントローラの「@PostMapping(params="mode=insList_add")」メソッドで、
@Validatedを修正したが、大分類、中分類、小分類の、DBエレメントを作成する処理は、入力エラーでもやらないといけない
ということを加味していなかった。
ので「if (result.hasErrors())」より前に、大分類、中分類、小分類の、DBエレメントを作成する処理を行うように変更する。
■前回の修正1.3(202108290000)で、各テーブル用コントローラの「@PostMapping(params="mode=insList_del")」メソッドで、
@Validatedを修正したが、大分類、中分類、小分類の、DBエレメントを作成する処理は、入力エラーでもやらないといけない
ということを加味していなかった。
ので「if (result.hasErrors())」より前に、大分類、中分類、小分類の、DBエレメントを作成する処理を行うように変更する。
■2021/06/21から、『kaz_javaSpringBootプログラム自動作成◎自動生成ツール』をVectorに載せています。2022年にZenn本も書きました。使ってみての感想や間違いの指定や、こうやったほうがいいとかの情報があればメールください。
・Vector
www.vector.co.jp
・Zenn本(SpringBoot、Thymeleaf プログラム自動作成(マクロ使用版))
zenn.dev