ssm框架中controller与jsp交互时的传值和取值方法

由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>&nbsp;&nbsp;码:</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值一样。

  • 17
    点赞
  • 80
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值