未経験Javaエンジニア転職の記録

20代転職未経験エンジニア

47日目 ログイン認証つづき

SpringBootでのログイン機能を作成した。

ユーザーに権限を与え、管理者がログインした際には管理ボタンを表示させ、権限のないユーザーならボタンは非表示もする。

最初のページでなら、th:if属性で権限があるなら表示と変数を使い操作できるのだが、ページを遷移すると、最初に利用したFormクラスの値が初期化されてしまうため、th:if属性内で利用した変数がnullとなりエラーになってしまう。

ここの解決にじかんがかかってしまった。
Beanを使い無理くりやっていたが、行き詰まったので、講師に聞くと、その最初のFormクラスをSessionで保持しなさい、とのご指導を頂いた。

だよね、との感想。
そこからが長った。

調べれば色々情報が出てくるのだが、どれも難しく理解がなかなかできなかった。
というより、今も微妙だが。

保持用のFormクラスにSessionscopeのアノテーションをつけることで、値が保持される。

それをページ遷移ごとにControllerないで、model.addAttributeして、なんとかエラーは出なくなった。

より簡素でスマートなやり方があるのだろうが、ひとまず先に進めることができた。

講師からのレビューが来るのが怖いところだが。