フォーム JSP があり、送信時に成功 JSP にリダイレクトされます。フォーム要素への入力は、値オブジェクトを使用してセッション属性によってキャプチャされ、成功ページに表示されます。コードは次のようになります。
フォームコントローラー:
@Controller
@RequestMapping("/userRegistration.htm")
@SessionAttributes("user")
public class UserController {
private UserService userService;
@Autowired
public void setUserService(UserService userService) {
this.userService = userService;
}
@ModelAttribute("countryList")
public List<Country> populateCountryList() {
return userService.getAllCountries();
}
@ModelAttribute("communityList")
public List<Community> populateCommunityList() {
return userService.getAllCommunities();
}
@RequestMapping(method = RequestMethod.GET)
public String showUserForm(ModelMap model) {
User user = new User();
model.addAttribute("user", user);
return "userForm";
}
@RequestMapping(method = RequestMethod.POST)
public String onSubmit(@ModelAttribute("user") User user,ModelMap model) {
userService.add(user);
return "forward:userSuccess.htm";
成功コントローラ:
@Controller
public class UserSuccessController {
@RequestMapping("/userSuccess.htm")
public String redirect()
{
return "userSuccess";
ユーザー サクセス jsp:
User Details
<hr>
User Name : ${User.getName()} <br/>
Gender : <c:out value="${User.getGender()}"></c:out> <br/>
Country : <c:out value="${User.country}"></c:out> <br/>
About You : <c:out value="${user.aboutYou}"></c:out> <br/>
Community :
<c:forEach var="community" items="${user.communityList}" >
<c:out value="${community}"></c:out>
</c:forEach> <br />
Mailing List: <c:out value="${user.mailingList} "></c:out>
しかし、実際に私が得る出力は、
User Details
--------------------------------------------------------------------------------
User Name : ${User.getName()}
Gender : ${User.getGender()}
Country : ${User.country}
About You : ${user.aboutYou}
Community : ${community}
Mailing List: ${user.mailingList}
助けてください。前もって感謝します。