0
がサポートされていません。私はそうのようなラッパークラスを持っている:インデックスは、「com.ItemBean」
@NoArgsConstructor
@Data
public class ListWrapper {
public ListWrapper(List<Object> objects) {
this.objects = objects;
}
private List<Object> objects;
}
私はカスタム豆でラッパーを埋めるために探しています。それをItemBeanと呼んでみましょう。
それでは私が持っている:
@GetMapping("/rentSetup")
public String setupRent(@RequestParam("companyId") Integer companyId,
Model model) {
List<Object> beans = new ArrayList<>();
ItemBean bean = new Builder()
.someProperty(something)
.build();
beans.add(bean);
ListWrapper wrapper = new ListWrapper(beans);
model.addAttribute("itemBeansWrapper", wrapper);
return "setup";
}
私はビューでユーザー編集プロパティsomeProperty
上を持っているしたいと思います。私は私がやるだろうと思っている:
<form th:object="${itemBeansWrapper}"
th:action="@{/setup(companyId=${companyId})}"
th:method="post">
<div th:each="bean, iterStat : ${itemBeansWrapper.objects}">
<input type="number"
th:name="${bean[__${iterStat.index}__].someProperty}">
</div>
<button type="submit"
th:name="action"
th:value="review" value="review"> Review
</button>
</form>
しかし、これは、その結果:私が間違って何をやっている
org.springframework.expression.spel.SpelEvaluationException: EL1027E:(pos 4): Indexing into type 'com.ItemBean' is not supported
at org.springframework.expression.spel.ast.Indexer.getValueRef(Indexer.java:176)
?
また、私はコントローラ内で、@SessionAttributes({"companyId", "itemBeansWrapper"})
という注釈が付けられていますが、セッション内のページにまたがってラッパーを永続化したいので注意してください。
私が[__${iterStat.index}__]
を離れると、ページはうまくコンパイルされますが、ネストされた豆を区別するためにそのようなものが必要になると思っています。