package com.archie.web;
import javax.annotation.Resource;
import javax.servlet.http.HttpSession;
import javax.validation.Valid;
import org.springframework.stereotype.Controller;
import org.springframework.validation.BindingResult;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.servlet.ModelAndView;
import com.archie.model.User;
import com.archie.service.UserService;
@Controller
@RequestMapping("/user/*")
public class UserController {
@Resource(name="userService")
private UserService userService;
private final String LIST="redirect:/detail";
/**
* 登录
* @param user
* @param session
* @return
*/
@RequestMapping("/login")
public ModelAndView login(@Valid User user,BindingResult result,HttpSession session) throws Exception{
if(!result.hasErrors()){
User loginUser=userService.login(user);
if(loginUser!=null){
session.setAttribute("USER", loginUser);
return new ModelAndView(LIST);
}else{
return new ModelAndView("redirect:/");
}
}else{
ModelAndView view=new ModelAndView();
view.setViewName("redirect:/");
view.addObject("error", result.getAllErrors());
return view;
}
}
/**
* 跳转至添加页
* @return
*/
@RequestMapping(value="/toAdd",method=RequestMethod.GET)
public ModelAndView toAdd(){
return new ModelAndView("user/add");
}
/**
* 保存
* @param user
* @return
*/
@RequestMapping(value="/add",method=RequestMethod.POST)
public ModelAndView add(@Valid User user,BindingResult result) throws Exception{
if(result.hasErrors()){
return new ModelAndView("user/add","error", result.getAllErrors());
}else{
userService.addUser(user);
return new ModelAndView(LIST);
}
}
/**
* 根据ID删除
* @param id
* @return
*/
@RequestMapping(value="/delete/{id}")
public ModelAndView delete(@PathVariable int id) throws Exception{
userService.deleteUser(id);
return new ModelAndView(LIST);
}
/**
* 跳转至编辑页面
* @param id
* @return
*/
@RequestMapping(value="/edit/{id}")
public ModelAndView edit(@PathVariable int id) throws Exception{
User user=userService.getUserById(id);
return new ModelAndView("user/edit","user",user);
}
/**
* 编辑
* @param user
* @return
*/
@RequestMapping(value="/edit")
public ModelAndView update(@Valid User user,BindingResult result)throws Exception{
ModelAndView view=new ModelAndView();
if(result.hasErrors()){
view.addObject("error", result.getAllErrors());
view.setViewName("user/edit");
return view;
}else{
userService.updateUser(user);
return new ModelAndView(LIST);
}
}
}
(5)test层(Java环境下测试)
TestUserController.java
package com.archie.test;
import java.util.ArrayList;
import java.util.List;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import com.archie.model.User;
import com.archie.service.UserService;
public class TestUserController {
public static void main(String[] args) throws Exception{
ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml");
UserService userService = (UserService)context.getBean("userService");
List list = new ArrayList();
list.add(new User("wang", "wang"));
list.add(new User("wang", "wang"));
list.add(new User("wang", "wang"));
userService.insertUsers(list);
System.out.println("恭喜恭喜,添加成功!");
userService.deleteUser(26);
System.out.println("恭喜恭喜,删除成功!");
User beanUser = userService.getUserById(21);
if (beanUser != null) {
System.out.println("恭喜恭喜,查找成功!");
}else {
System.out.println("不好意思,您所查找的用户不存在!");
}
int totalCount = userService.getTotalCount();
System.out.println("TotalCount="+totalCount);
int result = userService.deleteUserByLike(new User("wang","wang"));
System.out.println("模糊删除的记录条数是:"+result);
List users = userService.getUsersByLike(new User("meimei","1234"));
if (users == null || users.size() == 0) {
System.out.println("没有匹配的记录2");
}else {
for (int i = 0; i
User user = (User)users.get(i);
System.out.println("username="+user.getUsername()+",password="+user.getPassword());
}
}
System.out.println("length="+users.size());
}
}