1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package org.promotego.controllers;
20
21 import javax.servlet.http.HttpServletRequest;
22 import javax.servlet.http.HttpServletResponse;
23
24 import org.promotego.beans.User;
25 import org.promotego.beans.UserHolder;
26 import org.promotego.dao.interfaces.UserDao;
27 import org.promotego.editors.BeanIdEditor;
28 import org.springframework.beans.factory.annotation.Required;
29 import org.springframework.transaction.annotation.Transactional;
30 import org.springframework.validation.BindException;
31 import org.springframework.web.bind.ServletRequestDataBinder;
32 import org.springframework.web.servlet.ModelAndView;
33 import org.springframework.web.servlet.mvc.AbstractCommandController;
34
35 public class UserProfileController extends AbstractCommandController
36 {
37 private UserDao m_userDao;
38
39 @Transactional
40 @Override
41 protected ModelAndView handle(HttpServletRequest request,
42 HttpServletResponse response, Object command, BindException errors)
43 throws Exception
44 {
45 User theUser = ((UserHolder)command).getUser();
46
47 return new ModelAndView("userProfile", "profileUser", theUser);
48 }
49
50 @Override
51 protected void initBinder(HttpServletRequest request, ServletRequestDataBinder binder) throws Exception
52 {
53 binder.registerCustomEditor(User.class, new BeanIdEditor<User>(m_userDao));
54
55 super.initBinder(request, binder);
56 }
57
58 @Required
59 public void setUserDao(UserDao userDao)
60 {
61 m_userDao = userDao;
62 }
63 }