一、 实体參数

前面我们知道使用注解@RequestParam能够获得參数的值,那么如今提交一个表单怎么获得当中的值了。你能够说能够使用request.getParameter("")获得,是的这样的方法确实能获得。那么如今假设表单有100个參数了。我们不会一个一个的去获得然后在set到model中,那样显得非常麻烦。事实上springmvc能直接把值一一相应到model中。以下来看下样例:

package com.ztz.springmvc.model;

public class Users {
private String name;
private String password;
private Roles roles;
//省略get set方法 //重写toString()方便測试
@Override
public String toString() {
return "Users [name=" + name + ", password=" + password + ", roles="
+ roles + "]";
}
}
package com.ztz.springmvc.model;

public class Roles {
private int id;
private String name;
//省略get set方法 //重写toString()方便測试
@Override
public String toString() {
return "Roles [id=" + id + ", name=" + name + "]";
}
}
package com.ztz.springmvc.controller;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import com.ztz.springmvc.model.Users; @Controller
@RequestMapping("/user")
public class UsersController { @RequestMapping(value="/getparams",method=RequestMethod.POST)
private String findAll(Users users){
System.out.println(users);
return "users";
}
}
<form action="${basePath}user/getparams" method="post">
<label>username:</label><input type="text" name="name"/><br/>
<label>密 码:</label><input type="password" name="password"/><br/>
<label>编 号:</label><input type="text" name="roles.id"/><br/>
<label>角色名:</label><input type="text" name="roles.name"/><br/>
<input type="submit" value="提 交"/>
</form>

页面输入值,点击提交,控制台输出结果:

Users [name=test, password=password, roles=Roles [id=11, name=admin]]



二、 ServletAPI

以下来看springmvc里面怎么用ServletAPI,事实上非常好用的,看下样例:

@Controller
@RequestMapping("/user")
public class UsersController { @RequestMapping(value="/getparams",method=RequestMethod.POST)
private String findAll(Users users,HttpServletRequest request,
HttpSession session,HttpServletResponse response){
//放到request作用域
request.setAttribute("users", users);
//放到session
session.setAttribute("session", "session");
//输出cookie
response.addCookie(new Cookie("res", "response123"));
return "users";
}
}

表单的JSP还是前面的那个不变。来看下提交成功,转发到新的JSP页面:

<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>用户信息</title>
</head>
<body>
<h3>${users}</h3>
<h3>${session}</h3>
</body>
</html>

点击提交,看下结果:

springmvc使用实体參数和ServletAPI的更多相关文章

  1. springmvc 处理lsit类型的请求參数映射成实体属性

    <table align="center" cellspacing="10"> <tr> <td> 母码数目:<inp ...

  2. springmvc学习笔记(13)-springmvc注解开发之集合类型參数绑定

    springmvc学习笔记(13)-springmvc注解开发之集合类型參数绑定 标签: springmvc springmvc学习笔记13-springmvc注解开发之集合类型參数绑定 数组绑定 需 ...

  3. springMVC參数传递

    本文是本人在学习网络视屏springMVC的过程中的学习笔记. 为了更便于理解我决定从实际使用的角度解释. 我们在浏览器输入地址 http://localhost:8080/springMVC6/us ...

  4. springMVC --@RequestParam注解(后台控制器获取參数)

    在SpringMVC后台控制层获取參数的方式主要有两种,一种是request.getParameter("name"),第二种是用注解@RequestParam直接获取. 1.获取 ...

  5. springmvc学习笔记(12)-springmvc注解开发之包装类型參数绑定

    springmvc学习笔记(12)-springmvc注解开发之包装类型參数绑定 标签: springmvc springmvc学习笔记12-springmvc注解开发之包装类型參数绑定 需求 实现方 ...

  6. C# 多线程參数传递

    1.通过实体类来传递(能够传递多个參数与获取返回值),demo例如以下: 须要在线程中调用的函数: namespace ThreadParameterDemo { public class Funct ...

  7. struts开发&lt;struts中的參数传递.三&gt;

    不说废话,直接上干货 1.通过set和get传递參数 添加username 和password两个属性并添加set和get方法 package fzl.user.struts.demo; import ...

  8. 关于Netfilter NF_HOOK宏的outdev參数bug

    1.首先指出.NF_HOOK系列宏的outdev參数的传递方式(直接传递一个net_device结构体指针)是不对的 正确的方式要么是不传递.要么是传递指针的地址,即地址的地址. 2.接下来指出,仅仅 ...

  9. springMVC3.0(文件上传,@RequestMapping加參数,@SessionAttributes,@ModelAttribute,转发,重定向,数值获取,传參,ajax,拦截器)

    1.项目包结构例如以下: watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvdG90b3R1enVvcXVhbg==/font/5a6L5L2T/fontsiz ...

随机推荐

  1. leetcode7 Rerver Integer

    题意:数字反转 思路:醉了,提交了好几次,难点不在于怎么反转,而是判断是否益处,原题中给的是int,4个字节,32位,开始不知道怎么判断.现在知道了是limits.h中的INT_MIN和INT_MAX ...

  2. ES5 Object.create 方法

    Object.create(proto[, propertiesObject])The Object.create() method creates a new object with the spe ...

  3. [Codeforces #174] Tutorial

    Link: Codeforces #174 传送门 A: 求原根的个数,有一条性质是原根个数为$\phi(\phi(n))$,多了一个不会证的性质 如果要确定哪些是原根的话还是要枚举,不过对于每个数不 ...

  4. [BZOJ 1855] 股票交易

    Link: BZOJ 1855 传送门 Solution: 比较明显的$dp$模型 令$dp[i][j]$为第$i$天持有$j$支股票时的最大利润 对其购买股票和售出股票分别$dp$,这里以购买为例: ...

  5. Luogu P4093 [HEOI2016/TJOI2016]序列 dp套CDQ

    题面 好久没写博客了..最近新学了CDQ...于是就来发一发一道CDQ的练习题 看上去就是可以dp的样子. 设\(dp_{i}\)为以i结尾的最长不下降序列. 易得:\(dp_{i}\)=\(max( ...

  6. 【推导】【模拟】AtCoder Regular Contest 082 F - Sandglass

    题意:有个沙漏,一开始bulb A在上,bulb B在下,A内有a数量的沙子,每一秒会向下掉落1.然后在K个时间点ri,会将沙漏倒置.然后又有m个询问,每次给a一个赋值ai,然后询问你在ti时刻,bu ...

  7. python3-开发进阶 heapq模块(如何查找最大或最小的N个元素)

    一.怎样从一个集合中获得最大或者最小的 N 个元素列表? heapq 模块有两个函数:nlargest() 和 nsmallest() 可以完美解决这个问题. import heapq nums = ...

  8. [HNOI/AHOI2017]影魔

    [HNOI/AHOI2017]影魔 题目大意: 有一排\(n(n\le2\times10^5)\)个数\(k_{1\sim n}\).对于点对\((i,j)\),若不存在\(k_s(i<s< ...

  9. [转]spring property标签中的 ref属性和ref 标签有什么不同

    spring property标签中的 ref属性和ref 标签有什么不同? 如下:<property name="a" ref="b" /> sp ...

  10. [转] hibernate Mysql 自增长 注解配置,表无关联的注解方式关联查询

    不同数据库 自增长ID配置 正对不同的数据库可以同时使用         @Id         @GeneratedValue(strategy = GenerationType.AUTO) 2 针 ...