由controller传值给jsp
第一种,通过Model传值:
①列表对象
controller代码:
@RequestMapping(value="userlist")
public String userlist(Model model) {
List<User> userlist=userService.findAllUser();
model.addAttribute("userlist",userlist);
return "systemuser/userlist";
}
jsp中获取model中对象的方法:
<c:forEach items="${userlist}" var="user"><%-- 通过遍历userlist获取项目中的实体类对象,将对象名设为user,获取对象user中的属性 --%>
<tr>
<td>${user.username}</td>
<td>${user.sex}</td>
<td>${user.tel}</td>
<td>${user.address}</td>
<td>${user.number}</td>
<td>${user.tips}</td>
</tr>
</c:forEach>
②单个对象
这个就比较简单了,不用设置foreach去遍历他,在jsp页面直接用${对象名.属性名}获取model传进来的值
例子:
<tr>
<td>用户名:</td>
<td>${user.username}</td>
</tr>
<tr>
<td>性别:</td>
<td>${user.sex}</td>
</tr>
<tr>
<td>联系方式:</td>
<td>${user.tel}</td>
</tr>
<tr>
<td>住址:</td>
<td>${user.address}</td>
</tr>
<tr>
<td>身份证号:</td>
<td>${user.number}</td>
</tr>
<tr>
<td>备注:</td>
<td>${user.tips}</td>
</tr>
@RequestMapping(value="/userpreupdate")
public String userpreupdate(User user,String username,Model model) {
user=userService.findUserByid(username);
model.addAttribute("user", user);
return "index/userupdate";
}
第二种:通过session传值
controller代码:
HttpSession session=request.getSession();
session.setAttribute("username", username);//登录成功则在session对象中添加用户名信息
jsp页面代码:
username=${sessionScope.username}
由jsp传值给controller的方法
①通过超链接href传值:
jsp页面代码:
<p align="right"><a href="userpreupdate?username=${user.username}" color=blue size="20">修改资料</a></p>
点击超链接就会跳转到更新的页面,并且此时username这个字符串的值等于${user.username}是由controller传进来的,具体可以看上面的controller传值给jsp的取值方法。
controller代码:
@RequestMapping(value="/userpreupdate")
public String userpreupdate(User user,String username,Model model) {
user=userService.findUserByid(username);
model.addAttribute("user", user);
return "index/userupdate";
}
直接在方法参数里面定义一个字符串对象,名字要跟传进来的参数名一样,此时的username直接就是有jsp页面传进来的值。
②通过数据绑定的方式
jsp页面代码:
<tr>
<td>用户名:</td>
<td><input type="text" name="username"></td>
</tr>
<tr>
<td>密 码:</td>
<td><input type="password" name="password"></td>
</tr>
controller代码:
@RequestMapping("/login")
public String userlogin(@RequestParam(value="username")String username,@RequestParam(value="password")String password,
HttpServletResponse response,HttpServletRequest request,Model model) throws IOException
具体看第一行就可以了,通过注解@RequestParam(value=“username”)获取由jsp中传进来的 值,value要跟jsp组件的name值一样。