ユーザーを含むリストがあります。JSPで印刷しようとしていますが、印刷できない方法があります。この例外を取得するHTTP Status 500 - javax.servlet.ServletException: javax.servlet.jsp.JspTagException: Neither BindingResult nor plain target object for bean name 'users[0]' available as request attribute
JSP のコード
<c:forEach items="${users}" var="user" varStatus="status">
<spring:bind path="users[${status.index}].name">
<c:out value="${status.value}" />
</spring:bind>
</c:forEach>
コントローラ
ModelAndView modelAndView = new ModelAndView("go_some_JSP_page");
List<UserEntity> users = userManager.getAllObjects();
modelAndView.addObject("users", users);
ところで、UserEntity には name フィールドがあります。バインディングを削除して印刷しようとするとuser.name
、<c:out value="user.name" />
値が印刷されます
どこが間違っていて、何をする必要がありますか? ありがとう
以下のコードは機能しません。[フィールド @NumberFormat でフォーマットを呼び出す必要があるため、status
変数を使用して試してみる必要があります]
<spring:bind path="user.name">
<c:out value="${status.value}" />
</spring:bind>
このエラーが発生します -->javax.servlet.ServletException: javax.servlet.jsp.JspTagException: Neither BindingResult nor plain target object for bean name 'user' available as request attribute
したがって、Bean バインディングを追加すると、空のテーブルが得られます:(。インスタンスが空であるためだと思います。したがって、これは正しいアプローチのようには思えません。
@ModelAttribute("user")
public UserEntity userEntityBinding() {
return UserEntity.newInstance();
}
作業コードはhttps://github.com/hth/StatusInvoke.gitにあります
展開に問題が発生した場合はお知らせください。
この質問は解決されました。ご覧いただきありがとうございます。