2014-09-14 5 views
0

등록 양식을 통해 일부 사용자 세부 정보를 db (최대 절전 모드 및 스프링)로 저장했습니다. 모든 사용자의 사용자 세부 정보를 별도의 JSP 페이지에 표시하고 싶습니다. 누구나 저에게 그 방법을 알려주시겠습니까? 다음은 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(); 

} 
+1

그리고 문제는 ... 나는이 새로운 오전 –

+0

입니다. 개체를 다르게 저장해야합니까? 다른 페이지에있는 객체에 저장된 데이터를 표시해야합니다. 그 작업을 어떻게해야합니까? –

+0

개체를 다르게 저장할 필요가 없습니다. 인터넷에서이 요구 사항에 대한 많은 예제를 찾을 수 있습니다. 시도해 보셨습니까? – Chaitanya

답변

2

GET 요청에서 사용자에게 표시 할 요소를 가져와야합니다. 여기에는 다음 단계가 포함됩니다.

  • GET을 처리하려면 적절한 URL 매핑 및보기가 필요합니다.
  • URL을 처리 할 방법으로 데이터를 가져옵니다.
  • 요청 속성으로 사용자에게 표시 할 데이터를 저장하십시오.
  • 보기로 전달 (JSP).
  • 보기에서 요청 속성의 데이터를 표시하십시오. userList.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); 
        } 
    
        //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); 
        } 
    } 
    

    다음 :

    <%@ 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> 
    

    참고이 매우 것을 현재의 코드와 몇 가지 방법의 존재를 가정 기반

아주 간단한 예 이 작업을 수행하는 방법에 대한 기본 예제입니다. 코드를 크게 향상시킬 수 있습니다.

상세 정보 :

+0

고마워요 !!. 나는 이것을 시도 할 것이다. 고맙습니다. @ chaitanya도 –

+0

하이 루기, 그게 효과가있었습니다. map.addAttribute ("userList", userList); 작업 또는 사용에 대해 설명해주십시오. 실행 중 임시 저장소입니까? 이전에, 반환하는 동안 나는 3 개의 매개 변수를 사용했지만 당신이 언급 한 하나의 경우에만 2입니다. 만약 내가 이렇게 반환하면보기 페이지에서 어떻게 작동할까요? –

+0

@ B.K 여기에 설명되어 있습니다 : [jsp : c : set를 통한 데이터 전달] (http://stackoverflow.com/q/16619015/1065197). 또한, 요청 속성으로 설정 한 것은'List'입니다. 필요한만큼 변수를 설정할 수 있습니다.그러나 데이터가 이미 객체에 저장된 경우 별도로 데이터를 저장하는 대신 객체를 저장하십시오. 나머지는 [JSP 파일에서 Java 코드를 피하는 방법] (http://stackoverflow.com/q/3177733/1065197)을 읽어보십시오. –

0

내부 컨트롤러의 내 코드입니다 JSTL for JSP는 JSP를 사용하여 사용자를 표시하기 위해이 링크를 사용하여 JSTL forEach 루프를 사용하여 JSP에서 데이터를 표시하는 방법을 볼 수 있습니다. JSP Errors in ForEach Loop

+0

일단 모든 사용자를 검색하면 별도의 모델 객체에 해당 정보를 저장해야합니까? 일단 사용자가 등록하면 모델 객체 'User'를 사용하여 세부 정보를 저장합니다. –

+0

사용자를 사용할 수있는 경우 데이터를 목록에 저장해야합니다. @ 루이지 멘도사 대답을 참조하십시오, 그것은 완전한 정보를 가지고 – Chaitanya

관련 문제