Spring mvc 从session属性读取值只返回springmvc中的名称
我有一个表单jsp,在提交时它重定向到一个成功的jsp。表单元素的输入将由会话属性使用值对象捕获,并在成功页面中呈现 表格管理员:Spring mvc 从session属性读取值只返回springmvc中的名称,spring-mvc,controller,Spring Mvc,Controller,我有一个表单jsp,在提交时它重定向到一个成功的jsp。表单元素的输入将由会话属性使用值对象捕获,并在成功页面中呈现 表格管理员: @Controller @RequestMapping("/userRegistration.htm") @SessionAttributes("user") public class UserController { private UserService userService; @Autowired public void setUserService(U
@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>
请帮忙。提前感谢。我认为您需要添加
model.addAttribute(用户)在onSubmit方法中使用code>,因为在视图中您不使用带有属性的表单
modeldattribute=“user”
如果使用带有上述属性的表单,则不需要model.addAttribute(object)因为该属性以某种方式与onSubmit@ModelAttribute(“用户”)链接。首先,您将控制器中的模型属性定义为用户(小写),但将其作为用户(大写)访问。记住Java语言是区分大小写的。
其次,我假设您的用户类中已经定义了getName()、getGender()等方法,如果是这种情况,您可以按如下方式访问JSP中的用户对象字段(Java Beans约定):
User Details
<hr>
User Name : <c:out value="${user.name}" /> <br/>
Gender : <c:out value="${user.gender}" /> <br/>
用户详细信息
用户名:
性别:
我希望这有帮助@Taoufik和Krisandra谢谢你的帮助。案件冲突是我的审判。首先我试着只用小写字母。我发现了问题。这是因为使用了tomcat的版本。我的tomcat 5.5不支持。所以我用了tomcat7.04
User Details
<hr>
User Name : <c:out value="${user.name}" /> <br/>
Gender : <c:out value="${user.gender}" /> <br/>