欢迎来到首页
跳转到list Servlet ,使用的绝对路径
@RequestMapping("/list") // 使用的绝对路径
public String listUsers(Model model) {
Collection list = service.listUser();
model.addAttribute("list", list); // 请求转发配置参数
return "list"; // 跳转到 list.jsp 页面
}
var指向当前值
varStatus可以获得与当前索引相关的一些信息:
如varStatus=’status’ 则可以用${status.index}获得当前元素在集合中的索引
变量状态参数,该属性有5个常用值:
count 表示当前遍历集合的元素个数
index 表示当前遍历到集合的第几个元素
current 表示当前的集合元素
first 表示集合的第一个元素
last 表示集合的最后一个元素
` forEach items="${list}" var="user" varStatus="index">
forEach>`
是一个相对路径,相对于 WebContent ,如果你的 jsp 是直接写在WebContent 包下,可以直接写 update.jsp;如果你是写在 WebContent 文件夹下的 view 包下,则需要在前面加上 ” view/ ” 路径
img 标签同 a 标签,也是相对于 WebContent 文件夹
' '>修改头像
class="image" alt="头像" src="view/upload/${user.image }">
type="hidden" name="id" value="${param.id}"> // input 标签传递隐形参数
parameterTyper 参数类型
resultType 返回值类型 , 如果返回值是多个类型,封装成对象 使用resultMap
id="update" parameterType="user">
update user
set
image =
#{image}
where id = #{id}
<delete id="deleteByPrimaryKey"> // delete from user where id = ? or id= ? or id=?;
delete from user
"array" item="item" separator="," open="id in ("
close=")">
#{item}
delete>
// return "redirect:/view/welcome.jsp"; 重定向
// return "forward:register"; 请求转发,携带参数
@RequestMapping("/list")
public String listUsers(Model model) {
Collection list = service.listUser();
model.addAttribute("list", list); // 携带的参数
return "list"; // 请求转发
}
@RequestMapping("/delete")
public String delete(Long ...ids) {
service.deleteByPrimaryKey(ids);
return "redirect:/list";
}
@RequestMapping("/update")
public String update(Long id,MultipartFile image,HttpServletRequest request) {
// 上传的图片不会使用原始的名字,需要重新命名一个唯一的名字
// 防止多个用户上传名字相同内容不同的图片,导致覆盖,只保存了一张的情况
// 名字: 时间戳,内容dm5 后的字符串,UUID
String imageName = String.valueOf(new Date().getTime()); // 时间戳作为文件名
String path = request.getServletContext().getRealPath("/")+ "view/upload/" + imageName; // 获取当前服务器所在的 tomcat 上的 绝对路径 ,拼接成 要获取图片的完整路径
File file = new File(path); // 在此路径上 new 出一个文件,空的
System.out.println("id = "+ id);
try {
image.transferTo(file); // 把我们上传到服务器的文件 transferTo new出来的那个文件
User user = new User();
user.setId(id);
user.setImage(imageName);
service.update(user);
} catch (IllegalStateException | IOException e) {
e.printStackTrace();
}
return "redirect:/list";
}
1.
@Repository
public interface UserDao // dao接口用 Repository (仓库)
2.
@Service // serviceImpl 用 Service
public class UserServiceImpl implements UserService{
3.
@Autowired
private UserDao dao; // 获取 UserDao dao = new UserDaoImpl(); dao 的实现类
4.
@Controller
public class UserController{} // 注册 UserController 类用 Controller
5.
@RequestMapping("/list")
public String listUsers(Model model) {} // Controller 中的方法用 RequestMapping 注解,相当于一个ListServlet 用来处理jsp中传递的数据
6.JUnit 上面的注解
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration({"classpath:spring/spring-dao.xml","classpath:spring/spring-service.xml"})