kazpgmの日記

『プログラム自動作成@自動生成』作成の日記

「kaz_javaSpringBootプログラム自動作成◎生成ツール」セッションBeanの使い方が間違っていた。ので、修正する。

バグ修正 <ーver1.6で修正する予定です。
  検索画面Form(例:biztypeSrchForm)Bean、検索ソート順Form(例:srchOrderForm)Beanを
  「@Scope(value= "session", proxyMode = ScopedProxyMode.TARGET_CLASS)」としてセッションスコープにしたが、
  コントローラ(例:BiztypeController)で
  画面入力した値(例:BiztypeSrchForm biztypeSrchForm,SrchOrderForm srchOrderForm,)を直接設定
  (例:this.biztypeSrchForm = biztypeSrchForm;と、this.srchOrderForm = srchOrderForm;)しているので
  セッションBeanでなくなっている。正しくは、セッションBeanの中身を書き換える。(変数自体を直接書き換えないこと)
 
  例:
  <<修正前>>
   public class BiztypeController implements Consts{
   ・・・
   @Autowired
   BiztypeSrchForm biztypeSrchForm;  ←「@Scope(value= "session", proxyMode = ScopedProxyMode.TARGET_CLASS)」なのでセッションBean
   @Autowired
   SrchOrderForm srchOrderForm;  ←「@Scope(value= "session", proxyMode = ScopedProxyMode.TARGET_CLASS)」なのでセッションBean
   ・・・
   @PostMapping(params="mode=list")
   public String biztypeList(BiztypeSrchForm biztypeSrchForm,
     SrchOrderForm srchOrderForm,
     ・・・
       Pageable pageable) {
    //セッションに載せる
    this.biztypeSrchForm = biztypeSrchForm;  ←NG:変数自体を直接書き換えている。(this.biztypeSrchFormが、セッションBeanでなくなっている)
    this.srchOrderForm = srchOrderForm;  ←NG:変数自体を直接書き換えている。(this.srchOrderFormが、セッションBeanでなくなっている)
  <<修正後>>
   public class BiztypeController implements Consts{
   ・・・
   @Autowired
   SessionBiztypeSrchForm sessionBiztypeSrchForm;  ←新たにSessionBiztypeSrchFormを作って、セッションBeanとする、中身をBiztypeSrchFormとする。
   @Autowired
   SessionSrchOrderForm sessionSrchOrderForm;  ←新たにSessionSrchOrderFormを作って、セッションBeanとする、中身をSrchOrderFormとする。
   ・・・
   @PostMapping(params="mode=list")
   public String biztypeList(BiztypeSrchForm biztypeSrchForm,
     SrchOrderForm srchOrderForm,
     ・・・
       Pageable pageable) {
    //セッションに載せる
    this.sessionBiztypeSrchForm.setBiztypeSrchForm(biztypeSrchForm);  ←新たなSessionBiztypeSrchFormの中身BiztypeSrchFormを書き換る。
    this.sessionSrchOrderForm.setSrchOrderForm(srchOrderForm);  ←新たなSessionBiztypeSrchFormの中身BiztypeSrchFormを書き換る。


■2021/06/21から、『kaz_javaSpringBootプログラム自動作成◎自動生成ツール』をVectorに載せています。2022年にZenn本も書きました。使ってみての感想や間違いの指定や、こうやったほうがいいとかの情報があればメールください。
Vector
www.vector.co.jp
・Zenn本(SpringBoot、Thymeleaf プログラム自動作成(マクロ使用版))
zenn.dev