java表单提交实例_[Spring MVC] -简单表单提交实例

Spring MVC自带的表单标签比较简单,很多时候需要借助EL和JSTL来完成。

下面是一个比较简单的表单提交页面功能:

1、User model

package com.my.controller.bean;

import java.util.Date;

import java.util.List;

import javax.validation.constraints.Future;

import javax.validation.constraints.Max;

import javax.validation.constraints.Min;

import javax.validation.constraints.NotNull;

import org.hibernate.validator.constraints.Email;

import org.hibernate.validator.constraints.Length;

import org.hibernate.validator.constraints.NotEmpty;

public class User {

private long id;

@Length(min=2, max=50, message="User name length range = 2-50")

private String name;

@Future(message="时间不能小于今天")

private Date createTime;

@NotEmpty(message="Customer不能为空")

private List customers;

@NotNull(message="Girl不能为空")

private boolean girl;

private String[] cbx;

@NotNull(message="Age can NOT be Null")

@Min(value=18, message="最小18岁")

@Max(value=100, message="最大100岁")

private int age;

@Email(message="Email格式不正确")

private String email;

public long getId() {

return id;

}

public void setId(long id) {

this.id = id;

}

public String getName() {

return name;

}

public void setName(String name) {

this.name = name;

}

public Date getCreateTime() {

return createTime;

}

public void setCreateTime(Date createTime) {

this.createTime = createTime;

}

public List getCustomers() {

return customers;

}

public void setCustomers(List customers) {

this.customers = customers;

}

public boolean isGirl() {

return girl;

}

public void setGirl(boolean girl) {

this.girl = girl;

}

public String[] getCbx() {

return cbx;

}

public void setCbx(String[] cbx) {

this.cbx = cbx;

}

public int getAge() {

return age;

}

public void setAge(int age) {

this.age = age;

}

public String getEmail() {

return email;

}

public void setEmail(String email) {

this.email = email;

}

}

2、Controller

package com.my.controller;

import java.util.ArrayList;

import java.util.Date;

import java.util.List;

import javax.validation.Valid;

import org.springframework.stereotype.Controller;

import org.springframework.validation.BindingResult;

import org.springframework.validation.FieldError;

import org.springframework.web.bind.annotation.ModelAttribute;

import org.springframework.web.bind.annotation.RequestMapping;

import org.springframework.web.bind.annotation.RequestMethod;

import org.springframework.web.servlet.ModelAndView;

import com.my.controller.bean.Customer;

import com.my.controller.bean.User;

@Controller

@RequestMapping(value="/post")

public class TestPostController {

private static List users = new ArrayList();

{

//-----------------------------------------------

// 设置Entity

// -----------------------------------------------

users.add(new User());

User user = users.get(0);

user.setId(1);

user.setName("Robin");

user.setCreateTime(new Date());

user.setGirl(true);

user.setCbx(new String[] {"1", "2", "3"});

user.setAge(18);

user.setEmail("abcd@abc.com");

user.setCustomers(new ArrayList());

Customer customer1 = new Customer();

customer1.setId(1);

customer1.setCompany("Company - 1");

customer1.setCreateTime(new Date());

customer1.setUser(user);

user.getCustomers().add(customer1);

Customer customer2 = new Customer();

customer2.setId(1);

customer2.setCompany("Company - 2");

customer2.setCreateTime(new Date());

customer2.setUser(user);

user.getCustomers().add(customer2);

}

@RequestMapping

public ModelAndView index() {

ModelAndView view = new ModelAndView("TestPost/index");

view.addObject("users", users);

return view;

}

@RequestMapping(value="/addUser", method=RequestMethod.POST)

public ModelAndView addUser(@ModelAttribute @Valid User user, BindingResult result) {

ModelAndView view = new ModelAndView("redirect:/post");

if(result.hasErrors()) {

List errors = result.getFieldErrors();

for(FieldError err : errors) {

System.out.println("ObjectName:" + err.getObjectName() + "\tFieldName:" + err.getField()

+ "\tFieldValue:" + err.getRejectedValue() + "\tMessage:" + err.getDefaultMessage());

}

view.addObject("users", users);

return view;

}

user.setId(users.size() + 1);

user.getCustomers().get(0).setId(1);

user.getCustomers().get(0).setUser(user);

users.add(user);

view.addObject("users", users);

return view;

}

}

3、View

Index" method="post">

User:${user.name}

Create time:

Is girl:

Yes

No

N/A

Checkboxs:

${item},

Age:${user.age}

E-mail:${user.email}


Company nameUserCreate time

${item.company}${item.user.name}

User name:

Is girl:

Yes

No

Checkboxs:

1

2

3

Age:

E-mail:

Create time:

Company:


4、测试结果

98f24962725062b272c3238135304aae.png

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值