package com.siso.spring;
import java.io.File;
import java.util.HashMap;
import java.util.Map;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;
import org.apache.commons.io.FileUtils;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.validation.BindingResult;
import org.springframework.validation.annotation.Validated;
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.multipart.MultipartFile;
import com.siso.model.User;
import com.siso.model.UserException;
@Controller
@RequestMapping("/user")
public class UserController{
private Map users=new HashMap();
public UserController(){
users.put("username", new User("username","123","宵夜","111@22.com"));
users.put("sda", new User("sda","1234","宵夜da","11s1@22.com"));
users.put("fds", new User("fds","12345","宵夜fd","11a1@22.com"));
}
@RequestMapping(value="/users",method=RequestMethod.GET)
public String list(Model model){
model.addAttribute("users",users);
return "user/list";
}
//点击链接添加会到这个方法,然后跳转到add.jsp
@RequestMapping(value="/add",method=RequestMethod.GET)
public String add(Model model){//方法二@ModelAttribute ("user")User user
//开启ModelDriven的两个方法
model.addAttribute(new User());
return "user/add";
}
@RequestMapping(value="/add",method=RequestMethod.POST)
public String add(@Validated User user,BindingResult br,MultipartFile file,HttpServletRequest req){//@Validated后面一定要紧跟BindingResult,中间不能有别的参数,否则报错
if(br.hasErrors()){
//如果有错误 直接跳转回添加页面
System.out.println("这是添加错误回馈"+br.getErrorCount());
return "user/add";
}
if(file.getSize()>0&&file!=null){
System.out.println(file.getName()+","+file.getOriginalFilename()+","+","+file.getContentType());
}
else{
throw new UserException("文件上传失败!");
}
String realpath=req.getSession().getServletContext().getRealPath("/resources/upload");
System.out.println(realpath);
File f=new File(realpath+"/"+file.getOriginalFilename());
//完成添加
FileUtils.copyInputStreamToFile();
users.put(user.getUsername(),user );
return "redirect:/user/users";
}
是不是添加的jar版本不对呢?检查下版本呗。
使用了springMVC了吧,参看解决方案