[英]How to display data of objects in JSP
我已經通過注冊表將一些用戶詳細信息存儲到db(休眠和彈簧)中。 我想在單獨的JSP頁面中顯示所有用戶的用戶詳細信息。有人可以告訴我該怎么做嗎?
下面是我的控制器代碼
@Controller
public class RegisterController {
@Autowired
private UserDao userDao;
@RequestMapping(value = "/registerForm.htm", method = RequestMethod.GET)
public ModelAndView registerPage(ModelMap map) {
User user = new User();
map.addAttribute(user);
return new ModelAndView("registerForm", "command", user);
}
@RequestMapping(value = "/registerProcess.htm", method = RequestMethod.POST)
public ModelAndView registerUser(@ModelAttribute("user") User user, Model model) {
model.addAttribute("userName", user.getUserName());
model.addAttribute("password", user.getPassword());
model.addAttribute("emailId", user.getEmailId());
System.out.println("user is " + user);
System.out.println("userdao is" + userDao);
userDao.saveUser(user);
return new ModelAndView("registerProcess", "user", user);
}
}
userdao內部的代碼
public void saveUser(User user) {
Session session=getSessionFactory().openSession();
Transaction tx;
tx=session.beginTransaction();
session.persist(user);
tx.commit();
}
您應該獲取要在GET請求中顯示給用戶的元素。 這涉及以下步驟:
一個非常簡單的示例,它基於您當前的代碼並假設存在一些方法:
@Controller
public class RegisterController {
@Autowired
private UserDao userDao;
@RequestMapping(value="/registerForm.htm",method=RequestMethod.GET)
public ModelAndView registerPage(ModelMap map){
User user=new User();
map.addAttribute(user);
return new ModelAndView("registerForm","command",user);
}
@RequestMapping(value="/registerProcess.htm",method=RequestMethod.POST)
public ModelAndView registerUser(@ModelAttribute("user") User user,Model model){
model.addAttribute("userName", user.getUserName());
model.addAttribute("password", user.getPassword());
model.addAttribute("emailId",user.getEmailId());
System.out.println("user is "+user);
System.out.println("userdao is"+userDao);
userDao.saveUser(user);
return new ModelAndView("registerProcess","user",user);
}
//this is the new method with proper mapping
@RequestMapping(value="/userList.htm", method=RequestMethod.GET)
public ModelAndView registerPage(ModelMap map) {
//this method should retrieve the data for all users
List<User> userList = userDao.getAllUsers();
map.addAttribute("userList", userList);
return new ModelAndView("userList", map);
}
}
然后,在userList.jsp中:
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<!DOCTYPE html>
<html lang="en">
<head>
<title>User List</title>
</head>
<body>
List of users:
<br />
<table>
<c:forEach items="${userList}" var="user">
<tr>
<td>${user.userName}</user>
</tr>
</c:forEach>
</table>
</body>
</html>
請注意,這是有關如何執行此操作的非常基本的示例。 該代碼可以大大改進。
更多信息:
編寫另一種方法來獲取所有用戶,然后將檢索到的用戶列表存儲在模型對象中,然后在JSP中使用JSTL forEach標記顯示用戶,您可以使用此鏈接查看如何使用來在JSP上顯示數據JSTL forEach循環: ForEach循環中的JSP錯誤
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.