您现在的位置是:首页 >

springmvc的form表单 spring mvc 接收页面表单List

火烧 2022-04-20 18:12:31 1036
ri g mvc 接收页面表单Li t   最近在用S ri g mvc时遇到一个问题 在网上搜了很多资料 几乎没看到解决办法!  例如 当我们在做批量添加或者更新时 在Co troller层接收表

spring mvc 接收页面表单List  

  最近在用Spring mvc时遇到一个问题 在网上搜了很多资料 几乎没看到解决办法!

  例如 当我们在做批量添加或者更新时 在Controller层接收表单数据的问题!

  我们做一个对用户批量添加的实验!

  用户Model

  public class User { //用户名 private String username; //密码 private String password; public String getUsername() { return username; } public void setUsername(String username) { this username = username == null ? null : username trim(); } public String getPassword() { return password; } public void setPassword(String password) { this password = password == null ? null : password trim(); } public User(String username String password) { super(); this username = username; this password = password; } public User() { super(); } }

springmvc的form表单 spring mvc 接收页面表单List

  控制层

  @Controller @RequestMapping( / ) public class UserController { /** * Logger for this class */ private static final Logger logger = Logger getLogger(UserController class); @RequestMapping( /user ) public void test(List<User> users){ logger debug(JSONArray toJSON(users)); } }

  我们在创建一个jsp

  <%@ page language= java import= java util * pageEncoding= UTF %> <!DOCTYPE HTML PUBLIC //W C//DTD HTML Transitional//EN > <> <head> <title>表单批量提交</title> </head> <body> <form action= user method= post > 用户名 <input type= text name= username[ ] ><br/> 密码 <input type= text name= password[ ] ><br/> 用户名 <input type= text name= username[ ] ><br/> 密码 <input type= text name= password[ ] ><br/> <input type= submit > </form> </body> </>

  现在我们来测试下

  

  

  我们可以看到后台报错了 具体为何大家可以去看源码

  可以用 种方式解决这个问题

   在表单提交之前 把表单序列化成JSON格式传到后台 在来解析封装成List<User>

  

  我们创建一个UserModel

  public class UserModel { private List<User> users; public List<User> getUsers() { return users; } public void setUsers(List<User> users) { this users = users; } public UserModel(List<User> users) { super(); this users = users; } public UserModel() { super(); } }

  修改我们的控制层和页面

   @RequestMapping("/user")     public void test(UserModel userModel ){         logger debug(JSONArray toJSON(userModel));     }

  <%@ page language= java import= java util * pageEncoding= UTF %> <!DOCTYPE HTML PUBLIC //W C//DTD HTML Transitional//EN > <> <head> <title>表单批量提交</title> </head> <body> <form action= user method= post > 用户名 <input type= text name= users[ ] username ><br/> 密码 <input type= text name= users[ ] password ><br/> 用户名 <input type= text name= users[ ] username ><br/> 密码 <input type= text name= users[ ] password ><br/> <input type= submit > </form> </body> </>

  

  我们来看下控制台打印的结果:

lishixinzhi/Article/program/Web/201405/30790  
永远跟党走
  • 如果你觉得本站很棒,可以通过扫码支付打赏哦!

    • 微信收款码
    • 支付宝收款码