diff --git a/test/mvc/.idea/MarsCodeWorkspaceAppSettings.xml b/test/mvc/.idea/MarsCodeWorkspaceAppSettings.xml
new file mode 100644
index 0000000..05ed8ba
--- /dev/null
+++ b/test/mvc/.idea/MarsCodeWorkspaceAppSettings.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/test/mvc/.idea/encodings.xml b/test/mvc/.idea/encodings.xml
new file mode 100644
index 0000000..aa00ffa
--- /dev/null
+++ b/test/mvc/.idea/encodings.xml
@@ -0,0 +1,7 @@
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/test/mvc/.idea/misc.xml b/test/mvc/.idea/misc.xml
index 6ed36dd..82dbec8 100644
--- a/test/mvc/.idea/misc.xml
+++ b/test/mvc/.idea/misc.xml
@@ -1,4 +1,14 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/test/mvc/.idea/vcs.xml b/test/mvc/.idea/vcs.xml
new file mode 100644
index 0000000..b2bdec2
--- /dev/null
+++ b/test/mvc/.idea/vcs.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/test/mvc/src/main/java/com/msksbr/test/mvc/JavaBean/RegisterFromBean.java b/test/mvc/src/main/java/com/msksbr/test/mvc/JavaBean/RegisterFromBean.java
new file mode 100644
index 0000000..2399626
--- /dev/null
+++ b/test/mvc/src/main/java/com/msksbr/test/mvc/JavaBean/RegisterFromBean.java
@@ -0,0 +1,86 @@
+package com.msksbr.test.mvc.JavaBean;
+
+import java.util.HashMap;
+import java.util.Map;
+
+public class RegisterFromBean {
+ // error message
+ private final Map errors = new HashMap();
+ private String name; // define username
+ private String password; // define password
+ private String password2; // define reverify password
+ private String email; // define email address
+
+ public String getName() {
+ return name;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ public String getPassword() {
+ return password;
+ }
+
+ public void setPassword(String password) {
+ this.password = password;
+ }
+
+ public String getPassword2() {
+ return password2;
+ }
+
+ public void setPassword2(String password2) {
+ this.password2 = password2;
+ }
+
+ public String getEmail() {
+ return email;
+ }
+
+ public void setEmail(String email) {
+ this.email = email;
+ }
+
+ public boolean validate() {
+ boolean flag = true;
+ if (name == null || name.trim().equals("")) {
+ errors.put("name", "请输入姓名.");
+ flag = false;
+ }
+ if (password == null || password.trim().equals("")) {
+ errors.put("password", "请输入密码.");
+ flag = false;
+ } else if (password.length() < 6 || password.length() > 12) {
+ errors.put("password", "请输入6-12个字符.");
+ flag = false;
+ }
+ if (password != null && !password.equals(password2)) {
+ errors.put("password2", "两次输入的密码不匹配.");
+ flag = false;
+ }
+ // validate email address with ex regular expression
+ String emailEx = "[a-zA-Z0-9_-]+@[a-zA-Z0-9_-]+(\\.[a-zA-Z0-9_-]+)+";
+ if (email == null || email.trim().equals("")) {
+ errors.put("email", "请输入邮箱.");
+ flag = false;
+ }
+ if (!email.matches(emailEx)) {
+ errors.put("email", "邮箱格式错误.");
+ flag = false;
+ }
+ return flag;
+ }
+
+ // add error message to Map
+ public void setErrorsMsg(String err, String errMsg) {
+ if (err != null && errMsg != null) {
+ errors.put(err, errMsg);
+ }
+ }
+
+ public Map getErrors() {
+ return errors;
+ }
+}
diff --git a/test/mvc/src/main/java/com/msksbr/test/mvc/JavaBean/UserBean.java b/test/mvc/src/main/java/com/msksbr/test/mvc/JavaBean/UserBean.java
new file mode 100644
index 0000000..0651843
--- /dev/null
+++ b/test/mvc/src/main/java/com/msksbr/test/mvc/JavaBean/UserBean.java
@@ -0,0 +1,31 @@
+package com.msksbr.test.mvc.JavaBean;
+
+public class UserBean {
+ private String name; // define username
+ private String password; // define password
+ private String email; // define email address
+
+ public String getName() {
+ return name;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ public String getPassword() {
+ return password;
+ }
+
+ public void setPassword(String password) {
+ this.password = password;
+ }
+
+ public String getEmail() {
+ return email;
+ }
+
+ public void setEmail(String email) {
+ this.email = email;
+ }
+}