フロント側をFlutter(スマホ)Thymeleaf(PC)、バックエンド側SpringBootの自動作成@自動生成ツール作成中
18:49
②昨日に続いて。洗い出したものを修正し、Vb.net自動作成@自動生成ツールを動かして自動作成した。
AndoroidStudioで出たエラーをさらに洗い出した。明日はこれを修正してまたコンパイルする。
さらに洗い出した内容。(洗い出し2回目)
■「検索・入力Ajax」の取得した値を表示するWidgetがない。とか、 Form、SrchFormへの値設定の項目がないとか。 ① 例: child:Column( children: <Widget>[ <<追加 start>> Rows ( children: <Widget>[ <<追加 end>> TextFormField( ・・・ onChanged: (value) async { if (_itemForm.item31 != value as int) { // httpアクセス Map<String, dynamic>? map = await CommUtils .createLrgMidSmlChange2( context, value, '', '', '', '', '2', '/elements/elem2', 'ary_lrgmidsml_biztype', widget.headers, widget.cookies); setState(() { <<修正前 start>> _itemForm.bizname = map["LrgName"]; <<修正前 end>> <<修正後 start>> _itemForm.bizname = map!["LrgName"]; <<修正後 end>> }); ・・・ <<追加 start>> Text(_itemForm.bizname, textAlign: TextAlign.left, overflow: TextOverflow.clip, ), ] ), <<追加 end>> Text( // HTTPで返却されたエラーメッセージを表示する。(エラーなしはText高=0にしている) _itemForm.itemErrForm.item31Err.join("\n"), textAlign: TextAlign.left, overflow: TextOverflow.clip, style: TextStyle(height:(_itemForm.itemErrForm.item31Err==[])?0:1.2, fontSize: 12, fontWeight: FontWeight.normal, color: Colors.red), ), <<修正前 start>> ]), <<修正前 end>> <<修正後 start>> ], <<修正後 end>> ②「検索・入力Ajax」のForm、SrchFormへの値設定の項目がないので作る。 ・VB.netのForm作成.vbのLrgmidsmlElements関連作成ForForm関数を参考にして、FlutterForm作成.vbに 更新画面のPKObjと、Form、SrchFormのDBエレメント名項目を作る。 ・更新画面のPKObjを使って更新画面のDBエレメントPKを作成するように修正する。 ■エラーメッセージ項目が登録されていない 例①:以下のcheckItem07Err(検索・入力ラジオボタン)の定義がない _itemForm.itemErrForm.item07Err.join("\n") + _itemForm.itemErrForm.checkItem07Err.join("\n"), ・Vb.netの検索・入力ラジオボタン、検索・入力プルダウンに対する処理に、 「02_04_05_00_ItmElemErr部品.txt」を使うようにする 例②:以下のcheckItem27HissuErr(画像・必須)、checkItem27Err(画像)の定義がない style: TextStyle(height:(_itemForm.itemErrForm.item27FileErr==[] || _itemForm.itemErrForm.checkItem27HissuErr==[] || _itemForm.itemErrForm.checkItem27Err==[])?0:1.2, fontSize: 12, fontWeight: FontWeight.normal, color: Colors.red), ・対象はひな形たち <<修正前>> check■{item_name}■ <<修正後>> check■{Item_name}■ ■ファイル項目、画像項目が1つでもある場合の処理でint項目の設定にキャストがない 例:以下の「_itemForm.item03」を「_itemForm.item03 as String;」にする var request = http.MultipartRequest("POST", url); request.fields['formComm.page'] = _itemForm.messageForm.page.toString(); request.fields['itemForm.item02'] = _itemForm.item02; request.fields['itemForm.item03'] = _itemForm.item03; ■「検索・入力Ajax」のforItemFormControllerメソッド、fromItemFormControllerメソッドに TextEditingControllerが必要。 例: fromItemFormController( ・・・ <<追加 start>> TextEditingController item31Controller <<追加 end>> ) { ・・・ <<追加 start>> item31 = item31Controller.text as int; <<追加 end>> ■「ファイルを削除」に間違いがある 例: if (_itemForm.item28File != null) { //チェックボックス _contentWidget = Column( children: [CheckboxListTile( activeColor: Colors.orange, <<修正前 start>> title: const Text(("ファイル"を削除"), <<修正前 end>> <<修正後 start>> title: const Text("ファイルを削除"), <<修正後 end>> controlAffinity: ListTileControlAffinity.leading, value: _itemForm.item28Del=="1"?true:false, onChanged: (value) { setState(() { _itemForm.item28Del = (value==true?"1":"0"); }); } )]); } else {
■2022/06/15に、勉強した成果:『Flutter_JavaSpringプログラム自動作成◎自動生成ツール』をVectorに載せました。Zenn本も書きました。使ってみての感想や間違いの指定や、こうやったほうがいいとかの情報があればメールください。
・Vector
www.vector.co.jp
・Zenn本(Flutter_JavaSpringプログラム自動作成)
zenn.dev