Base64でencode/decodeして書き出す。
実装しました。
配列やListの要素がJavaBeans・Map・Stringの場合に対応しています。
Listの時には、中身はMapとみなして処理したほうがいいと思います。 どうしてもBeanを使いたければ配列を使えばよいので。
TeedaのxxxItemsは、Listだったら中身はMapで、特に問題ないはずです。
この機能は実現できたが、他の箇所に悪影響(※)が出てしまったため、再オープンします。 実装方法を変える必要があります。
※SelectOneMeny等で選択肢が表示されなくなってしまった。 PropertyResolverで配列・Listだったらserializeするようにしたため、 選択肢用の配列・Listを期待する箇所へserializeしたStringが返されてしまっていた。
配列の場合は、Mapへ退避してからSerialize→Deserializeするようにした。 Dtoのクラスが変わっても、プロパティが同じ場合に値を復元できるようにするため。
Listの場合はそのままSerialize→Deserializeするようにした。 これは、Listに含まれるDtoの型がわからないため。 なので、Dtoの型が変わると例外が飛ぶと思われる。
PropertyResolverを拡張して、配列に対応。 明日、Listに対応して、完了。
実装しました。
配列やListの要素がJavaBeans・Map・Stringの場合に対応しています。