MongoDB+Struts2+JQuery.formValidator插件的web应用示例

  1. /**
  2. *此次应用涉及的几个小知识点为:
  3. *1.MongoDB的插入和更新操作
  4. *2.Struts2的最基本使用
  5. *3.单例设计模式的简单使用
  6. *4.JQueryform验证表单插件的使用
  7. */
/** * 此次应用涉及的几个小知识点为: * 1.MongoDB的插入和更新操作 * 2.Struts2的最基本使用 * 3.单例设计模式的简单使用 * 4.JQuery form验证表单插件的使用 */

MongoDB+Struts2+JQuery.formValidator插件的web应用示例

MongoDB+Struts2+JQuery.formValidator插件的web应用示例

  1. /**
  2. *MongoDBWebTest
  3. *注册
  4. */
  5. packagecom.labci.mongodb.web.action;
  6. importjava.util.Iterator;
  7. importjava.util.Map;
  8. importjavax.servlet.http.HttpServletRequest;
  9. importnet.sf.json.JSONArray;
  10. importorg.apache.struts2.interceptor.ServletRequestAware;
  11. importcom.labci.mongodb.web.util.GenderEnum;
  12. importcom.labci.mongodb.web.util.JSONToMapUtil;
  13. importcom.labci.mongodb.web.util.MongoDBUtil;
  14. importcom.labci.mongodb.web.util.NumbericUtil;
  15. importcom.mongodb.BasicDBObject;
  16. importcom.mongodb.DBCollection;
  17. importcom.mongodb.DBCursor;
  18. importcom.mongodb.DBObject;
  19. importcom.opensymphony.xwork2.ActionSupport;
  20. /**
  21. *@authorBillTu(tujiyue/iwtxokhtd)
  22. *Jun11,2011[10:27:12PM]
  23. *
  24. */
  25. publicclassRegisterActionextendsActionSupportimplementsServletRequestAware{
  26. /**
  27. *
  28. */
  29. privatestaticfinallongserialVersionUID=-6732943120575582727L;
  30. privateHttpServletRequestrequest;
  31. privatestaticfinalStringUSER="user";
  32. @Override
  33. publicStringexecute()throwsException{
  34. Stringusername=request.getParameter("username");
  35. Stringpassword=request.getParameter("password");
  36. StringageStr=request.getParameter("age");
  37. Stringbirth=request.getParameter("birth");
  38. intage=getAge(ageStr);
  39. Stringgender=request.getParameter("gender");
  40. if(gender.equals("0")){
  41. gender=GenderEnum.MALE.getGenderValue();
  42. }else{
  43. gender=GenderEnum.FEMALE.getGenderValue();
  44. }
  45. StringidCardNo=request.getParameter("idCardNo");
  46. Stringemail=request.getParameter("email");
  47. StringtelNo=request.getParameter("telephoneNo");
  48. StringphoneNo=request.getParameter("phoneNo");
  49. Stringeducation=request.getParameter("education");
  50. String[]interests=request.getParameterValues("interests");
  51. Stringdesc=request.getParameter("desc");
  52. //用户表
  53. DBCollectionuserCollection=MongoDBUtil.getCollection(USER);
  54. if(null!=username&&!"".equals(username)){
  55. DBObjectqueryByName=newBasicDBObject();
  56. queryByName.put("username",username);
  57. DBCursorfindByName=userCollection.find(queryByName);
  58. Iterator<DBObject>iter=findByName.iterator();
  59. if(!iter.hasNext()){
  60. DBObjectuser=newBasicDBObject();
  61. user.put("username",username);
  62. user.put("password",password);
  63. user.put("age",age);
  64. user.put("birth",birth);
  65. user.put("gender",gender);
  66. user.put("idCardNo",idCardNo);
  67. user.put("email",email);
  68. user.put("telephoneNo",telNo);
  69. user.put("phoneNo",phoneNo);
  70. user.put("education",education);
  71. intlen=interests.length;
  72. if(null!=interests&&len>0){
  73. Object[]interestsArray=newObject[len];
  74. for(inti=0;i<len;i++){
  75. interestsArray[i]=interests[i];
  76. }
  77. user.put("interests",interestsArray);
  78. }
  79. user.put("desc",desc);
  80. userCollection.save(user);
  81. request.getSession().setAttribute("username",username);
  82. DBObjectfindByUsername=userCollection.findOne(queryByName);
  83. if(null!=findByUsername){
  84. Map<String,Object>userMap=JSONToMapUtil.parseToMap(findByUsername.toString());
  85. JSONArrayinterestsArray=JSONArray.fromObject(userMap.get("interests"));
  86. request.setAttribute("interest",interestsArray.toArray());
  87. request.setAttribute("userMap",userMap);
  88. }
  89. }
  90. }
  91. returnSUCCESS;
  92. }
  93. privateintgetAge(StringageStr){
  94. intage=18;//默认为18岁,成年人
  95. if(NumbericUtil.isInteger(ageStr)){
  96. age=Integer.parseInt(ageStr);
  97. age=age<1?1:age>100?100:age;
  98. }
  99. returnage;
  100. }
  101. publicvoidsetServletRequest(HttpServletRequestarg0){
  102. this.request=arg0;
  103. }
  104. }
/** * MongoDBWebTest * 注册 */ package com.labci.mongodb.web.action; import java.util.Iterator; import java.util.Map; import javax.servlet.http.HttpServletRequest; import net.sf.json.JSONArray; import org.apache.struts2.interceptor.ServletRequestAware; import com.labci.mongodb.web.util.GenderEnum; import com.labci.mongodb.web.util.JSONToMapUtil; import com.labci.mongodb.web.util.MongoDBUtil; import com.labci.mongodb.web.util.NumbericUtil; import com.mongodb.BasicDBObject; import com.mongodb.DBCollection; import com.mongodb.DBCursor; import com.mongodb.DBObject; import com.opensymphony.xwork2.ActionSupport; /** * @author Bill Tu(tujiyue/iwtxokhtd) * Jun 11, 2011[10:27:12 PM] * */ public class RegisterAction extends ActionSupport implements ServletRequestAware{ /** * */ private static final long serialVersionUID = -6732943120575582727L; private HttpServletRequest request; private static final String USER="user"; @Override public String execute() throws Exception { String username=request.getParameter("username"); String password=request.getParameter("password"); String ageStr=request.getParameter("age"); String birth=request.getParameter("birth"); int age=getAge(ageStr); String gender=request.getParameter("gender"); if(gender.equals("0")){ gender=GenderEnum.MALE.getGenderValue(); }else{ gender=GenderEnum.FEMALE.getGenderValue(); } String idCardNo=request.getParameter("idCardNo"); String email=request.getParameter("email"); String telNo=request.getParameter("telephoneNo"); String phoneNo=request.getParameter("phoneNo"); String education=request.getParameter("education"); String []interests=request.getParameterValues("interests"); String desc=request.getParameter("desc"); //用户表 DBCollection userCollection=MongoDBUtil.getCollection(USER); if(null!=username && !"".equals(username)){ DBObject queryByName=new BasicDBObject(); queryByName.put("username", username); DBCursor findByName=userCollection.find(queryByName); Iterator<DBObject> iter=findByName.iterator(); if(!iter.hasNext()){ DBObject user=new BasicDBObject(); user.put("username", username); user.put("password", password); user.put("age", age); user.put("birth", birth); user.put("gender", gender); user.put("idCardNo", idCardNo); user.put("email", email); user.put("telephoneNo", telNo); user.put("phoneNo", phoneNo); user.put("education", education); int len=interests.length; if(null!=interests && len>0){ Object []interestsArray=new Object[len]; for(int i=0;i<len;i++){ interestsArray[i]=interests[i]; } user.put("interests", interestsArray); } user.put("desc", desc); userCollection.save(user); request.getSession().setAttribute("username", username); DBObject findByUsername=userCollection.findOne(queryByName); if(null!=findByUsername){ Map<String,Object> userMap=JSONToMapUtil.parseToMap(findByUsername.toString()); JSONArray interestsArray=JSONArray.fromObject(userMap.get("interests")); request.setAttribute("interest", interestsArray.toArray()); request.setAttribute("userMap", userMap); } } } return SUCCESS; } private int getAge(String ageStr){ int age=18;//默认为18岁,成年人 if(NumbericUtil.isInteger(ageStr)){ age=Integer.parseInt(ageStr); age=age<1?1:age>100?100:age; } return age; } public void setServletRequest(HttpServletRequest arg0) { this.request=arg0; } }

  1. /**
  2. *MongoDBWebTest
  3. *去更新页面
  4. */
  5. packagecom.labci.mongodb.web.action;
  6. importjava.util.Map;
  7. importjavax.servlet.http.HttpServletRequest;
  8. importnet.sf.json.JSONArray;
  9. importorg.apache.struts2.interceptor.ServletRequestAware;
  10. importcom.labci.mongodb.web.util.JSONToMapUtil;
  11. importcom.labci.mongodb.web.util.MongoDBUtil;
  12. importcom.mongodb.BasicDBObject;
  13. importcom.mongodb.DBCollection;
  14. importcom.mongodb.DBObject;
  15. importcom.opensymphony.xwork2.ActionSupport;
  16. /**
  17. *@authorBillTu(tujiyue/iwtxokhtd)
  18. *Jun11,2011[10:27:12PM]
  19. *
  20. */
  21. publicclassToUpdateActionextendsActionSupportimplementsServletRequestAware{
  22. /**
  23. *
  24. */
  25. privatestaticfinallongserialVersionUID=-6732943120575582727L;
  26. privateHttpServletRequestrequest;
  27. privatestaticfinalStringUSER="user";
  28. @Override
  29. publicStringexecute()throwsException{
  30. Stringusername=(String)request.getSession().getAttribute("username");
  31. if(null!=username&&!"".equals(username)){
  32. DBCollectionuserCollection=MongoDBUtil.getCollectionNotByAuth(USER);
  33. DBObjectqueryByName=newBasicDBObject();
  34. queryByName.put("username",username);
  35. DBObjectfindByUsername=userCollection.findOne(queryByName);
  36. if(null!=findByUsername){
  37. Map<String,Object>userMap=JSONToMapUtil.parseToMap(findByUsername.toString());
  38. JSONArrayinterestsArray=JSONArray.fromObject(userMap.get("interests"));
  39. request.setAttribute("interest",interestsArray.toArray());
  40. request.setAttribute("userMap",userMap);
  41. }
  42. }
  43. returnSUCCESS;
  44. }
  45. publicvoidsetServletRequest(HttpServletRequestarg0){
  46. this.request=arg0;
  47. }
  48. }
/** * MongoDBWebTest * 去更新页面 */ package com.labci.mongodb.web.action; import java.util.Map; import javax.servlet.http.HttpServletRequest; import net.sf.json.JSONArray; import org.apache.struts2.interceptor.ServletRequestAware; import com.labci.mongodb.web.util.JSONToMapUtil; import com.labci.mongodb.web.util.MongoDBUtil; import com.mongodb.BasicDBObject; import com.mongodb.DBCollection; import com.mongodb.DBObject; import com.opensymphony.xwork2.ActionSupport; /** * @author Bill Tu(tujiyue/iwtxokhtd) * Jun 11, 2011[10:27:12 PM] * */ public class ToUpdateAction extends ActionSupport implements ServletRequestAware{ /** * */ private static final long serialVersionUID = -6732943120575582727L; private HttpServletRequest request; private static final String USER="user"; @Override public String execute() throws Exception { String username=(String) request.getSession().getAttribute("username"); if(null!=username && !"".equals(username)){ DBCollection userCollection=MongoDBUtil.getCollectionNotByAuth(USER); DBObject queryByName=new BasicDBObject(); queryByName.put("username", username); DBObject findByUsername=userCollection.findOne(queryByName); if(null!=findByUsername){ Map<String,Object> userMap=JSONToMapUtil.parseToMap(findByUsername.toString()); JSONArray interestsArray=JSONArray.fromObject(userMap.get("interests")); request.setAttribute("interest", interestsArray.toArray()); request.setAttribute("userMap", userMap); } } return SUCCESS; } public void setServletRequest(HttpServletRequest arg0) { this.request=arg0; } }

  1. /**
  2. *MongoDBWebTest
  3. *更新操作
  4. */
  5. packagecom.labci.mongodb.web.action;
  6. importjava.util.Map;
  7. importjavax.servlet.http.HttpServletRequest;
  8. importnet.sf.json.JSONArray;
  9. importorg.apache.struts2.interceptor.ServletRequestAware;
  10. importcom.labci.mongodb.web.util.GenderEnum;
  11. importcom.labci.mongodb.web.util.JSONToMapUtil;
  12. importcom.labci.mongodb.web.util.MongoDBUtil;
  13. importcom.labci.mongodb.web.util.NumbericUtil;
  14. importcom.mongodb.BasicDBObject;
  15. importcom.mongodb.DBCollection;
  16. importcom.mongodb.DBObject;
  17. importcom.opensymphony.xwork2.ActionSupport;
  18. /**
  19. *@authorBillTu(tujiyue/iwtxokhtd)
  20. *Jun11,2011[10:27:12PM]
  21. *
  22. */
  23. publicclassUpdateActionextendsActionSupportimplementsServletRequestAware{
  24. /**
  25. *
  26. */
  27. privatestaticfinallongserialVersionUID=-6732943120575582727L;
  28. privateHttpServletRequestrequest;
  29. privatestaticfinalStringUSER="user";
  30. @Override
  31. publicStringexecute()throwsException{
  32. Stringusername=(String)request.getSession().getAttribute("username");
  33. if(null!=username&&!"".equals(username)){
  34. DBCollectionuserCollection=MongoDBUtil.getCollectionNotByAuth(USER);
  35. StringageStr=request.getParameter("age");
  36. Stringbirth=request.getParameter("birth");
  37. intage=getAge(ageStr);
  38. Stringgender=request.getParameter("gender");
  39. if(gender.equals("0")){
  40. gender=GenderEnum.MALE.getGenderValue();
  41. }else{
  42. gender=GenderEnum.FEMALE.getGenderValue();
  43. }
  44. StringidCardNo=request.getParameter("idCardNo");
  45. Stringemail=request.getParameter("email");
  46. StringtelNo=request.getParameter("telephoneNo");
  47. StringphoneNo=request.getParameter("phoneNo");
  48. Stringeducation=request.getParameter("education");
  49. String[]interests=request.getParameterValues("interests");
  50. Stringdesc=request.getParameter("desc");
  51. DBObjectcondition=newBasicDBObject();
  52. condition.put("username",username);
  53. DBObjectupdate=newBasicDBObject();
  54. update.put("age",age);
  55. update.put("birth",birth);
  56. update.put("gender",gender);
  57. update.put("idCardNo",idCardNo);
  58. update.put("telephoneNo",telNo);
  59. update.put("phoneNo",phoneNo);
  60. update.put("education",education);
  61. update.put("email",email);
  62. update.put("interests",interests);
  63. update.put("desc",desc);
  64. DBObjectsetValue=newBasicDBObject();
  65. setValue.put("$set",update);
  66. userCollection.update(condition,setValue);
  67. DBObjectfindByUsername=userCollection.findOne(condition);
  68. if(null!=findByUsername){
  69. Map<String,Object>userMap=JSONToMapUtil.parseToMap(findByUsername.toString());
  70. JSONArrayinterestsArray=JSONArray.fromObject(userMap.get("interests"));
  71. request.setAttribute("interest",interestsArray.toArray());
  72. request.setAttribute("userMap",userMap);
  73. }
  74. }
  75. returnSUCCESS;
  76. }
  77. privateintgetAge(StringageStr){
  78. intage=18;//默认为18岁,成年人
  79. if(NumbericUtil.isInteger(ageStr)){
  80. age=Integer.parseInt(ageStr);
  81. age=age<1?1:age>100?100:age;
  82. }
  83. returnage;
  84. }
  85. publicvoidsetServletRequest(HttpServletRequestarg0){
  86. this.request=arg0;
  87. }
  88. }
/** * MongoDBWebTest * 更新操作 */ package com.labci.mongodb.web.action; import java.util.Map; import javax.servlet.http.HttpServletRequest; import net.sf.json.JSONArray; import org.apache.struts2.interceptor.ServletRequestAware; import com.labci.mongodb.web.util.GenderEnum; import com.labci.mongodb.web.util.JSONToMapUtil; import com.labci.mongodb.web.util.MongoDBUtil; import com.labci.mongodb.web.util.NumbericUtil; import com.mongodb.BasicDBObject; import com.mongodb.DBCollection; import com.mongodb.DBObject; import com.opensymphony.xwork2.ActionSupport; /** * @author Bill Tu(tujiyue/iwtxokhtd) * Jun 11, 2011[10:27:12 PM] * */ public class UpdateAction extends ActionSupport implements ServletRequestAware{ /** * */ private static final long serialVersionUID = -6732943120575582727L; private HttpServletRequest request; private static final String USER="user"; @Override public String execute() throws Exception { String username=(String) request.getSession().getAttribute("username"); if(null!=username && !"".equals(username)){ DBCollection userCollection=MongoDBUtil.getCollectionNotByAuth(USER); String ageStr=request.getParameter("age"); String birth=request.getParameter("birth"); int age=getAge(ageStr); String gender=request.getParameter("gender"); if(gender.equals("0")){ gender=GenderEnum.MALE.getGenderValue(); }else{ gender=GenderEnum.FEMALE.getGenderValue(); } String idCardNo=request.getParameter("idCardNo"); String email=request.getParameter("email"); String telNo=request.getParameter("telephoneNo"); String phoneNo=request.getParameter("phoneNo"); String education=request.getParameter("education"); String []interests=request.getParameterValues("interests"); String desc=request.getParameter("desc"); DBObject condition=new BasicDBObject(); condition.put("username", username); DBObject update=new BasicDBObject(); update.put("age", age); update.put("birth", birth); update.put("gender", gender); update.put("idCardNo", idCardNo); update.put("telephoneNo", telNo); update.put("phoneNo", phoneNo); update.put("education", education); update.put("email", email); update.put("interests", interests); update.put("desc", desc); DBObject setValue=new BasicDBObject(); setValue.put("$set", update); userCollection.update(condition, setValue); DBObject findByUsername=userCollection.findOne(condition); if(null!=findByUsername){ Map<String,Object> userMap=JSONToMapUtil.parseToMap(findByUsername.toString()); JSONArray interestsArray=JSONArray.fromObject(userMap.get("interests")); request.setAttribute("interest", interestsArray.toArray()); request.setAttribute("userMap", userMap); } } return SUCCESS; } private int getAge(String ageStr){ int age=18;//默认为18岁,成年人 if(NumbericUtil.isInteger(ageStr)){ age=Integer.parseInt(ageStr); age=age<1?1:age>100?100:age; } return age; } public void setServletRequest(HttpServletRequest arg0) { this.request=arg0; } }

  1. /**
  2. *MongoDBWebTest
  3. *性别枚举类
  4. */
  5. packagecom.labci.mongodb.web.util;
  6. /**
  7. *@authorBillTu(tujiyue/iwtxokhtd)
  8. *Jun11,2011[10:54:08PM]
  9. *
  10. */
  11. publicenumGenderEnum{
  12. MALE{
  13. publicStringgetGenderValue(){
  14. return"男";
  15. }
  16. },
  17. FEMALE{
  18. publicStringgetGenderValue(){
  19. return"女";
  20. }
  21. };
  22. publicabstractStringgetGenderValue();
  23. }
/** * MongoDBWebTest * 性别枚举类 */ package com.labci.mongodb.web.util; /** * @author Bill Tu(tujiyue/iwtxokhtd) * Jun 11, 2011[10:54:08 PM] * */ public enum GenderEnum { MALE{ public String getGenderValue(){ return "男"; } }, FEMALE{ public String getGenderValue(){ return "女"; } }; public abstract String getGenderValue(); }

  1. /**
  2. *MongoDBWebTest
  3. *
  4. */
  5. packagecom.labci.mongodb.web.util;
  6. importjava.util.HashMap;
  7. importjava.util.Iterator;
  8. importjava.util.Map;
  9. importnet.sf.json.JSONObject;
  10. /**
  11. *@authorBillTu(tujiyue/iwtxokhtd)
  12. *Jun12,2011[2:51:54PM]
  13. *
  14. */
  15. publicclassJSONToMapUtil{
  16. privateJSONToMapUtil(){
  17. }
  18. @SuppressWarnings("unchecked")
  19. publicstaticMap<String,Object>parseToMap(Strings){
  20. Map<String,Object>map=newHashMap<String,Object>();
  21. JSONObjectjson=JSONObject.fromObject(s);
  22. Iteratorkeys=json.keys();
  23. while(keys.hasNext()){
  24. Stringkey=(String)keys.next();
  25. Stringvalue=json.get(key).toString();
  26. if(value.startsWith("{")&&value.endsWith("}")){
  27. map.put(key,parseToMap(value));
  28. }else{
  29. map.put(key,value);
  30. }
  31. }
  32. returnmap;
  33. }
  34. }
/** * MongoDBWebTest * */ package com.labci.mongodb.web.util; import java.util.HashMap; import java.util.Iterator; import java.util.Map; import net.sf.json.JSONObject; /** * @author Bill Tu(tujiyue/iwtxokhtd) * Jun 12, 2011[2:51:54 PM] * */ public class JSONToMapUtil { private JSONToMapUtil(){ } @SuppressWarnings("unchecked") public static Map<String,Object> parseToMap(String s){ Map<String,Object> map=new HashMap<String,Object>(); JSONObject json=JSONObject.fromObject(s); Iterator keys=json.keys(); while(keys.hasNext()){ String key=(String) keys.next(); String value=json.get(key).toString(); if(value.startsWith("{")&&value.endsWith("}")){ map.put(key, parseToMap(value)); }else{ map.put(key, value); } } return map; } }

  1. /**
  2. *MongoDBWebTest
  3. *取得数据库连接的工具类
  4. */
  5. packagecom.labci.mongodb.web.util;
  6. importjava.net.UnknownHostException;
  7. importjava.util.Map;
  8. importjava.util.concurrent.ConcurrentHashMap;
  9. importcom.mongodb.DB;
  10. importcom.mongodb.DBCollection;
  11. importcom.mongodb.Mongo;
  12. importcom.mongodb.MongoException;
  13. /**
  14. *@authorBillTu(tujiyue/iwtxokhtd)
  15. *Jun11,2011[10:05:00PM]
  16. *
  17. */
  18. publicclassMongoDBUtil{
  19. privatestaticfinalStringHOST="host";
  20. privatestaticfinalStringPORT="port";
  21. privatestaticfinalStringUSER="user";
  22. privatestaticfinalStringPASSWORD="password";
  23. privatestaticfinalStringDBNAME="dbname";
  24. privatestaticMap<String,Mongo>dbConnsMap=newConcurrentHashMap<String,Mongo>();
  25. privatestaticfinalMap<String,String>dbInfoMap=ParseFileInfo.getIntance().getDbInfoMap();
  26. privateMongoDBUtil(){
  27. }
  28. publicstaticMongogetConnection(){
  29. Mongoconn=dbConnsMap.get("test");
  30. if(null==conn){
  31. synchronized(MongoDBUtil.class){
  32. if(null==conn){
  33. //这种方式在jdk1.5及以上版本上没有问题
  34. try{
  35. conn=newMongo(dbInfoMap.get(HOST),Integer.parseInt(dbInfoMap.get(PORT)));
  36. }catch(NumberFormatExceptione){
  37. e.printStackTrace();
  38. }catch(UnknownHostExceptione){
  39. e.printStackTrace();
  40. }catch(MongoExceptione){
  41. e.printStackTrace();
  42. }
  43. dbConnsMap.put("test",conn);
  44. }
  45. }
  46. }
  47. returnconn;
  48. }
  49. publicstaticDBCollectiongetCollection(StringcollectionName){
  50. DBCollectioncollection=null;
  51. booleanisLogin=true;
  52. DBdb=getConnection().getDB(dbInfoMap.get(DBNAME));
  53. if(null!=db){
  54. isLogin=db.authenticate(dbInfoMap.get(USER),dbInfoMap.get(PASSWORD).toCharArray());
  55. }
  56. if(isLogin){
  57. collection=db.getCollection(collectionName);
  58. if(null==collection){
  59. synchronized(MongoDBUtil.class){
  60. if(null==collection){
  61. collection=db.createCollection(collectionName,null);
  62. }
  63. }
  64. }
  65. }
  66. returncollection;
  67. }
  68. publicstaticDBCollectiongetCollectionNotByAuth(StringcollectionName){
  69. DBCollectioncollection=null;
  70. DBdb=getConnection().getDB(dbInfoMap.get(DBNAME));
  71. if(null!=db){
  72. collection=db.getCollection(collectionName);
  73. if(null==collection){
  74. synchronized(MongoDBUtil.class){
  75. if(null==collection){
  76. collection=db.createCollection(collectionName,null);
  77. }
  78. }
  79. }
  80. }
  81. returncollection;
  82. }
  83. }
/** * MongoDBWebTest * 取得数据库连接的工具类 */ package com.labci.mongodb.web.util; import java.net.UnknownHostException; import java.util.Map; import java.util.concurrent.ConcurrentHashMap; import com.mongodb.DB; import com.mongodb.DBCollection; import com.mongodb.Mongo; import com.mongodb.MongoException; /** * @author Bill Tu(tujiyue/iwtxokhtd) * Jun 11, 2011[10:05:00 PM] * */ public class MongoDBUtil { private static final String HOST="host"; private static final String PORT="port"; private static final String USER="user"; private static final String PASSWORD="password"; private static final String DBNAME="dbname"; private static Map<String,Mongo> dbConnsMap=new ConcurrentHashMap<String,Mongo>(); private static final Map<String,String> dbInfoMap=ParseFileInfo.getIntance().getDbInfoMap(); private MongoDBUtil(){ } public static Mongo getConnection(){ Mongo conn=dbConnsMap.get("test"); if(null==conn){ synchronized(MongoDBUtil.class){ if(null==conn){ //这种方式在jdk1.5及以上版本上没有问题 try { conn=new Mongo(dbInfoMap.get(HOST),Integer.parseInt(dbInfoMap.get(PORT))); } catch (NumberFormatException e) { e.printStackTrace(); } catch (UnknownHostException e) { e.printStackTrace(); } catch (MongoException e) { e.printStackTrace(); } dbConnsMap.put("test", conn); } } } return conn; } public static DBCollection getCollection(String collectionName){ DBCollection collection=null; boolean isLogin=true; DB db=getConnection().getDB(dbInfoMap.get(DBNAME)); if(null != db){ isLogin=db.authenticate(dbInfoMap.get(USER), dbInfoMap.get(PASSWORD).toCharArray()); } if(isLogin){ collection=db.getCollection(collectionName); if(null==collection){ synchronized(MongoDBUtil.class){ if(null==collection){ collection=db.createCollection(collectionName, null); } } } } return collection; } public static DBCollection getCollectionNotByAuth(String collectionName){ DBCollection collection=null; DB db=getConnection().getDB(dbInfoMap.get(DBNAME)); if(null != db){ collection=db.getCollection(collectionName); if(null==collection){ synchronized(MongoDBUtil.class){ if(null==collection){ collection=db.createCollection(collectionName, null); } } } } return collection; } }

  1. /**
  2. *MongoDBWebTest
  3. *判断是否是数字的工具类
  4. */
  5. packagecom.labci.mongodb.web.util;
  6. importjava.util.regex.Pattern;
  7. /**
  8. *@authorBillTu(tujiyue/iwtxokhtd)
  9. *Jun11,2011[10:38:33PM]
  10. *
  11. */
  12. publicclassNumbericUtil{
  13. privateNumbericUtil(){
  14. }
  15. publicstaticbooleanisDigits(Stringinput){
  16. booleanflag=false;
  17. if(!isStringNull(input)){
  18. Stringregex="^[//d]+[//.]?[//d]+$";
  19. Patternp=Pattern.compile(regex);
  20. flag=p.matcher(input).matches();
  21. }
  22. returnflag;
  23. }
  24. publicstaticbooleanisInteger(Stringinput){
  25. booleanflag=false;
  26. if(!isStringNull(input)){
  27. Stringregex="^[-+]?[//d]+$";
  28. Patternp=Pattern.compile(regex);
  29. flag=p.matcher(input).matches();
  30. }
  31. returnflag;
  32. }
  33. publicstaticbooleanisDouble(Stringinput){
  34. booleanflag=false;
  35. if(!isStringNull(input)){
  36. Stringregex="^[//d]+[//.][//d]+$";
  37. Patternp=Pattern.compile(regex);
  38. flag=p.matcher(input).matches();
  39. }
  40. returnflag;
  41. }
  42. privatestaticbooleanisStringNull(Stringinput){
  43. booleanisNull=false;
  44. if(null==input||"".equals(input.trim())||input.length()<=0){
  45. isNull=true;
  46. }
  47. returnisNull;
  48. }
  49. }
/** * MongoDBWebTest * 判断是否是数字的工具类 */ package com.labci.mongodb.web.util; import java.util.regex.Pattern; /** * @author Bill Tu(tujiyue/iwtxokhtd) * Jun 11, 2011[10:38:33 PM] * */ public class NumbericUtil { private NumbericUtil(){ } public static boolean isDigits(String input){ boolean flag=false; if(!isStringNull(input)){ String regex="^[//d]+[//.]?[//d]+$"; Pattern p=Pattern.compile(regex); flag=p.matcher(input).matches(); } return flag; } public static boolean isInteger(String input){ boolean flag=false; if(!isStringNull(input)){ String regex="^[-+]?[//d]+$"; Pattern p=Pattern.compile(regex); flag=p.matcher(input).matches(); } return flag; } public static boolean isDouble(String input){ boolean flag=false; if(!isStringNull(input)){ String regex="^[//d]+[//.][//d]+$"; Pattern p=Pattern.compile(regex); flag=p.matcher(input).matches(); } return flag; } private static boolean isStringNull(String input){ boolean isNull=false; if(null==input ||"".equals(input.trim())||input.length()<=0){ isNull=true; } return isNull; } }

  1. /**
  2. *MongoDBWebTest
  3. *解析db属性文件的类
  4. */
  5. packagecom.labci.mongodb.web.util;
  6. importjava.io.IOException;
  7. importjava.io.InputStream;
  8. importjava.util.Enumeration;
  9. importjava.util.HashMap;
  10. importjava.util.Map;
  11. importjava.util.Properties;
  12. /**
  13. *@authorBillTu(tujiyue/iwtxokhtd)
  14. *Jun11,2011[9:43:02PM]
  15. *
  16. */
  17. publicclassParseFileInfo{
  18. privatestaticPropertiesconfigFile=null;
  19. privatestaticfinalStringDB_CONFIG_FILE_NAME="db.properties";
  20. privateParseFileInfo(){
  21. configFile=newProperties();
  22. }
  23. privatestaticclassParseFileInfoHolder{
  24. privatestaticParseFileInfoinstance=newParseFileInfo();
  25. }
  26. publicstaticParseFileInfogetIntance(){
  27. returnParseFileInfoHolder.instance;
  28. }
  29. publicMap<String,String>getDbInfoMap(){
  30. InputStreamis=ParseFileInfo.class.getResourceAsStream("/"+DB_CONFIG_FILE_NAME);
  31. Map<String,String>dbInfoMap=newHashMap<String,String>();
  32. if(null!=is){
  33. try{
  34. configFile.load(is);
  35. }catch(IOExceptione){
  36. e.printStackTrace();
  37. }
  38. Enumeration<Object>fileKeys=configFile.keys();
  39. while(fileKeys.hasMoreElements()){
  40. StringkeyName=(String)fileKeys.nextElement();
  41. dbInfoMap.put(keyName,configFile.getProperty(keyName));
  42. }
  43. }
  44. returndbInfoMap;
  45. }
  46. }
/** * MongoDBWebTest * 解析db属性文件的类 */ package com.labci.mongodb.web.util; import java.io.IOException; import java.io.InputStream; import java.util.Enumeration; import java.util.HashMap; import java.util.Map; import java.util.Properties; /** * @author Bill Tu(tujiyue/iwtxokhtd) * Jun 11, 2011[9:43:02 PM] * */ public class ParseFileInfo { private static Properties configFile=null; private static final String DB_CONFIG_FILE_NAME="db.properties"; private ParseFileInfo(){ configFile=new Properties(); } private static class ParseFileInfoHolder{ private static ParseFileInfo instance=new ParseFileInfo(); } public static ParseFileInfo getIntance(){ return ParseFileInfoHolder.instance; } public Map<String,String> getDbInfoMap(){ InputStream is=ParseFileInfo.class.getResourceAsStream("/"+DB_CONFIG_FILE_NAME); Map<String,String> dbInfoMap=new HashMap<String,String>(); if(null != is){ try { configFile.load(is); } catch (IOException e) { e.printStackTrace(); } Enumeration<Object> fileKeys=configFile.keys(); while(fileKeys.hasMoreElements()){ String keyName=(String) fileKeys.nextElement(); dbInfoMap.put(keyName, configFile.getProperty(keyName)); } } return dbInfoMap; } }

db.properties

  1. host=192.168.1.86
  2. port=27017
  3. user=iwtxokhtd
  4. password=123456
  5. dbname=test
host=192.168.1.86 port=27017 user=iwtxokhtd password=123456 dbname=test

struts.xml

  1. <?xmlversion="1.0"encoding="UTF-8"?>
  2. <!DOCTYPEstrutsPUBLIC
  3. "-//ApacheSoftwareFoundation//DTDStrutsConfiguration2.0//EN"
  4. "http://struts.apache.org/dtds/struts-2.0.dtd">
  5. <struts>
  6. <constantname="struts.devMode"value="false"/>
  7. <!--改变struts2默认为2M的上传文件大小限制-->
  8. <constantname="struts.multipart.maxSize"value="1024000000"/>
  9. <packagename="mongoDB"extends="struts-default">
  10. <actionname="register"class="com.labci.mongodb.web.action.RegisterAction">
  11. <resultname="success">viewInfo.jsp</result>
  12. <resultname="input">index.jsp</result>
  13. </action>
  14. <actionname="toUpdate"class="com.labci.mongodb.web.action.ToUpdateAction">
  15. <resultname="success">updateInfo.jsp</result>
  16. </action>
  17. <actionname="update"class="com.labci.mongodb.web.action.UpdateAction">
  18. <resultname="success">viewInfo.jsp</result>
  19. <resultname="input">updateInfo.jsp</result>
  20. </action>
  21. </package>
  22. </struts>
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN" "http://struts.apache.org/dtds/struts-2.0.dtd"> <struts> <constant name="struts.devMode" value="false" /> <!-- 改变struts2默认为2M的上传文件大小限制 --> <constant name="struts.multipart.maxSize" value="1024000000"/> <package name="mongoDB" extends="struts-default"> <action name="register" class="com.labci.mongodb.web.action.RegisterAction"> <result name="success">viewInfo.jsp</result> <result name="input">index.jsp</result> </action> <action name="toUpdate" class="com.labci.mongodb.web.action.ToUpdateAction"> <result name="success">updateInfo.jsp</result> </action> <action name="update" class="com.labci.mongodb.web.action.UpdateAction"> <result name="success">viewInfo.jsp</result> <result name="input">updateInfo.jsp</result> </action> </package> </struts>

validator.js

[javascript] view plaincopyprint?
  1. $(document).ready(function(){
  2. $.formValidator.initConfig({formid:"register",onerror:function(msg){alert(msg);returnfalse;},onsuccess:function(){alert('ddd');returntrue;}});
  3. $("#username").formValidator({tipid:"nameTip",onshow:"必填",onfocus:"用户名至少6个字符,最多20个字符",oncorrect:"该用户名可以注册"}).inputValidator({min:6,max:20,onerror:"你输入的用户名不合法,请确认"}).regexValidator({regexp:"username",datatype:"enum",onerror:"用户名格式不正确"});
  4. $("#password").formValidator({tipid:"passwordTip1",onshow:"必填",onfocus:"密码不能为空,至少6位",oncorrect:"密码输入合法"}).inputValidator({min:6,empty:{leftempty:false,rightempty:false,emptyerror:"密码两边不能有空格"},onerror:"密码不能为空,请确认"});
  5. $("#password2").formValidator({tipid:"passwordTip2",onshow:"必填",onfocus:"两次密码输入必须一致哦",oncorrect:"密码确认正确"}).inputValidator({min:6,empty:{leftempty:false,rightempty:false,emptyerror:"重复密码两边不能有空格"},onerror:"重复密码不能为空,请确认"}).compareValidator({desid:"password",operateor:"=",onerror:"两次密码输入不一致,请重新确认"});
  6. $(":radio[name='gender']").formValidator({tipid:"genderTip",onshow:"必填",onfocus:"默认为男性",oncorrect:"性别选择正确",defaultvalue:["0"]}).inputValidator({min:1,max:1,onerror:"性别忘记选了,请确认"});
  7. $("#age").formValidator({onshow:"必填",onfocus:"请输入年龄,范围在18至100之间",oncorrect:"恭喜你,你输对了"}).inputValidator({min:18,max:100,type:"value",onerrormin:"你输入的值必须大于等于18",onerror:"年龄必须在18-100之间,请确认"});
  8. $("#birth").focus(function(){WdatePicker({skin:'whyGreen',oncleared:function(){$(this).blur();},onpicked:function(){$(this).blur();}})}).formValidator({onshow:"必填",onfocus:"请选择出生日期",oncorrect:"出生日期输入合法"}).inputValidator({min:"1900-01-01",max:"2099-01-01",type:"date",onerror:"日期必须在/"1900-01-01/"和/"2099-01-01/"之间"});
  9. $("#idCardNo").formValidator({onshow:"可选",onfocus:"请输入15或18位身份证",oncorrect:"输入正确"}).functionValidator({fun:isCardID});
  10. $("#email").formValidator({onshow:"必填",onfocus:"必须输入合法的邮箱地址",oncorrect:"邮箱填写正确",forcevalid:true}).inputValidator({min:6,max:100,onerror:"邮箱地址的长度限制在6至100字符以内"}).regexValidator({regexp:"^([//w-.]+)@(([[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.)|(([//w-]+.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(]?)$",onerror:"你输入的邮箱格式不正确"});
  11. $("#education").formValidator({onshow:"必填",onfocus:"请选择真实的学历",oncorrect:"学历选择正确"}).inputValidator({min:1,onerror:"学历不能丢!"});
  12. $(":checkbox[name='interests']").formValidator({tipid:"interestsTip",onshow:"必须选择一个",onfocus:"得选择1个",oncorrect:"兴趣爱好已选"}).inputValidator({min:1,onerror:"没选择好哦"});
  13. $("#telephoneNo").formValidator({empty:true,onshow:"可选",onfocus:"最好是留一下吧",oncorrect:"手机号码填写正确",onempty:"还真不留"}).inputValidator({min:11,max:11,onerror:"手机号码必须是11位的,请确认"}).regexValidator({regexp:"mobile",datatype:"enum",onerror:"你输入的手机号码格式不正确"});;
  14. $("#phoneNo").formValidator({empty:true,onshow:"可选",onfocus:"格式例如:0755-66666666",oncorrect:"联系电话填写正确",onempty:"哎,真得没留"}).regexValidator({regexp:"^[[0-9]{3}-|/[0-9]{4}-]?([0-9]{8}|[0-9]{7})?$",onerror:"你输入的联系电话格式不正确"});
  15. $("#desc").formValidator({onshow:"必填",onfocus:"描述至少要输入10个汉字或20个字符",oncorrect:"输入合法",defaultvalue:"得写点东东..."}).inputValidator({min:20,onerror:"你输入的描述长度不正确,请确认"});
  16. });
$(document).ready(function(){ $.formValidator.initConfig({formid:"register",onerror:function(msg){alert(msg);return false;},onsuccess:function(){alert('ddd');return true;}}); $("#username").formValidator({tipid:"nameTip",onshow:"必填",onfocus:"用户名至少6个字符,最多20个字符",oncorrect:"该用户名可以注册"}).inputValidator({min:6,max:20,onerror:"你输入的用户名不合法,请确认"}).regexValidator({regexp:"username",datatype:"enum",onerror:"用户名格式不正确"}); $("#password").formValidator({tipid:"passwordTip1",onshow:"必填",onfocus:"密码不能为空,至少6位",oncorrect:"密码输入合法"}).inputValidator({min:6,empty:{leftempty:false,rightempty:false,emptyerror:"密码两边不能有空格"},onerror:"密码不能为空,请确认"}); $("#password2").formValidator({tipid:"passwordTip2",onshow:"必填",onfocus:"两次密码输入必须一致哦",oncorrect:"密码确认正确"}).inputValidator({min:6,empty:{leftempty:false,rightempty:false,emptyerror:"重复密码两边不能有空格"},onerror:"重复密码不能为空,请确认"}).compareValidator({desid:"password",operateor:"=",onerror:"两次密码输入不一致,请重新确认"}); $(":radio[name='gender']").formValidator({tipid:"genderTip",onshow:"必填",onfocus:"默认为男性",oncorrect:"性别选择正确",defaultvalue:["0"]}).inputValidator({min:1,max:1,onerror:"性别忘记选了,请确认"}); $("#age").formValidator({onshow:"必填",onfocus:"请输入年龄,范围在18至100之间",oncorrect:"恭喜你,你输对了"}).inputValidator({min:18,max:100,type:"value",onerrormin:"你输入的值必须大于等于18",onerror:"年龄必须在18-100之间,请确认"}); $("#birth").focus(function(){WdatePicker({skin:'whyGreen',oncleared:function(){$(this).blur();},onpicked:function(){$(this).blur();}})}).formValidator({onshow:"必填",onfocus:"请选择出生日期",oncorrect:"出生日期输入合法"}).inputValidator({min:"1900-01-01",max:"2099-01-01",type:"date",onerror:"日期必须在/"1900-01-01/"和/"2099-01-01/"之间"}); $("#idCardNo").formValidator({onshow:"可选",onfocus:"请输入15或18位身份证",oncorrect:"输入正确"}).functionValidator({fun:isCardID}); $("#email").formValidator({onshow:"必填",onfocus:"必须输入合法的邮箱地址",oncorrect:"邮箱填写正确",forcevalid:true}).inputValidator({min:6,max:100,onerror:"邮箱地址的长度限制在6至100字符以内"}).regexValidator({regexp:"^([//w-.]+)@(([[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.)|(([//w-]+.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(]?)$",onerror:"你输入的邮箱格式不正确"}); $("#education").formValidator({onshow:"必填",onfocus:"请选择真实的学历",oncorrect:"学历选择正确"}).inputValidator({min:1,onerror: "学历不能丢!"}); $(":checkbox[name='interests']").formValidator({tipid:"interestsTip",onshow:"必须选择一个",onfocus:"得选择1个",oncorrect:"兴趣爱好已选"}).inputValidator({min:1,onerror:"没选择好哦"}); $("#telephoneNo").formValidator({empty:true,onshow:"可选",onfocus:"最好是留一下吧",oncorrect:"手机号码填写正确",onempty:"还真不留"}).inputValidator({min:11,max:11,onerror:"手机号码必须是11位的,请确认"}).regexValidator({regexp:"mobile",datatype:"enum",onerror:"你输入的手机号码格式不正确"});; $("#phoneNo").formValidator({empty:true,onshow:"可选",onfocus:"格式例如:0755-66666666",oncorrect:"联系电话填写正确",onempty:"哎,真得没留"}).regexValidator({regexp:"^[[0-9]{3}-|/[0-9]{4}-]?([0-9]{8}|[0-9]{7})?$",onerror:"你输入的联系电话格式不正确"}); $("#desc").formValidator({onshow:"必填",onfocus:"描述至少要输入10个汉字或20个字符",oncorrect:"输入合法",defaultvalue:"得写点东东..."}).inputValidator({min:20,onerror:"你输入的描述长度不正确,请确认"}); });

validator.css

  1. .onCorrect
  2. {
  3. background:url(../images/reg4.gif)no-repeat;
  4. padding-left:25px;
  5. font-size:12px;
  6. line-height:22px;
  7. vertical-align:middle;
  8. }
  9. .onShow
  10. {
  11. background:url(../images/reg1.gif)no-repeat;
  12. padding-left:25px;
  13. font-size:12px;
  14. line-height:22px;
  15. vertical-align:middle;
  16. }
  17. .onFocus
  18. {
  19. background:#E9F0FFurl(../images/reg2.gif)no-repeat;
  20. padding-left:25px;
  21. font-size:12px;
  22. line-height:22px;
  23. vertical-align:middle;
  24. }
  25. .onError
  26. {
  27. background:#FFF2E9url(../images/reg3.gif)no-repeat;
  28. padding-left:25px;
  29. font-size:12px;
  30. line-height:22px;
  31. vertical-align:middle;
  32. }
  33. .onLoad
  34. {
  35. background:#E9FFEBurl(../images/loading.gif)no-repeat3px3px;
  36. padding-left:25px;
  37. font-size:12px;
  38. line-height:22px;
  39. vertical-align:middle;
  40. }
.onCorrect { background:url(../images/reg4.gif) no-repeat; padding-left:25px; font-size: 12px; line-height:22px; vertical-align:middle; } .onShow { background:url(../images/reg1.gif) no-repeat; padding-left:25px; font-size: 12px; line-height:22px; vertical-align:middle; } .onFocus { background:#E9F0FF url(../images/reg2.gif) no-repeat; padding-left:25px; font-size: 12px; line-height:22px; vertical-align:middle; } .onError { background:#FFF2E9 url(../images/reg3.gif) no-repeat; padding-left:25px; font-size: 12px; line-height:22px; vertical-align:middle; } .onLoad { background:#E9FFEB url(../images/loading.gif) no-repeat 3px 3px; padding-left:25px; font-size: 12px; line-height:22px; vertical-align:middle; }

web.xml

  1. <?xmlversion="1.0"encoding="UTF-8"?>
  2. <web-appversion="2.4"xmlns="http://java.sun.com/xml/ns/j2ee"
  3. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  4. xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
  5. http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
  6. <filter>
  7. <filter-name>struts2</filter-name>
  8. <filter-class>
  9. org.apache.struts2.dispatcher.FilterDispatcher
  10. </filter-class>
  11. </filter>
  12. <filter-mapping>
  13. <filter-name>struts2</filter-name>
  14. <url-pattern>*.action</url-pattern>
  15. </filter-mapping>
  16. <welcome-file-list>
  17. <welcome-file>index.jsp</welcome-file>
  18. </welcome-file-list>
  19. </web-app>
<?xml version="1.0" encoding="UTF-8"?> <web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"> <filter> <filter-name>struts2</filter-name> <filter-class> org.apache.struts2.dispatcher.FilterDispatcher </filter-class> </filter> <filter-mapping> <filter-name>struts2</filter-name> <url-pattern>*.action</url-pattern> </filter-mapping> <welcome-file-list> <welcome-file>index.jsp</welcome-file> </welcome-file-list> </web-app>

<%@ page language="java" contentType="text/html;charset=utf-8" pageEncoding="utf-8"%> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>MongoDB web应用程序示例</title> <link type="text/css" rel="stylesheet" href="style/style.css" mce_href="style/style.css"></link> <link type="text/css" rel="stylesheet" href="style/ui.tabs.css" mce_href="style/ui.tabs.css"></link> <link type="text/css" rel="stylesheet" href="style/validator.css" mce_href="style/validator.css"></link> <mce:script src="js/jquery-1.4.2.min.js" mce_src="js/jquery-1.4.2.min.js" type="text/javascript"></mce:script> <mce:script src="js/formValidator_min.js" mce_src="js/formValidator_min.js" type="text/javascript" charset="utf-8"></mce:script> <mce:script src="js/formValidatorRegex.js" mce_src="js/formValidatorRegex.js" type="text/javascript" charset="utf-8"></mce:script> <mce:script defer="defer" src="datepicker/WdatePicker.js" mce_src="datepicker/WdatePicker.js" type="text/javascript"></mce:script> <mce:script type="text/javascript" src="js/validator.js" mce_src="js/validator.js" charset="utf-8"></mce:script> </head> <body> <form action="register.action" method="post" name="register" id="register"> <table border="0px" style="font-size:12px" mce_style="font-size:12px" width="730px"> <th>用户注册</th> <tr> <td align="right">用户名:</td> <td><input type="text" id="username" name="username" style="width:120px"/></td> <td><div id="nameTip" style="width:250px"></div></td> </tr> <tr> <td align="right">密码:</td> <td><input type="password" id="password" name="password" style="width:120px" /></td> <td><div id="passwordTip1" style="width:250px"></div></td> </tr> <tr> <td align="right">重复密码:</td> <td><input type="password" id="password2" name="password2" style="width:120px" /></td> <td><div id="passwordTip2" style="width:250px"></div></td> </tr> <tr> <td align="right">性别:</td> <td><input type="radio" id="gender" value="0" name="gender" checked='checked'/> 男 <input type="radio" id="gender" value="1" name="gender" /> 女</td> <td><div id="genderTip" style="width:250px"></div></td> </tr> <tr> <td align="right">年龄:</td> <td><input type="text" id="age" style="width:120px" name="age" class="fv_input_text_default" /></td> <td><div id="ageTip" style="width:250px"></div></td> </tr> <tr> <td align="right">出生日期:</td> <td><input type="text" id="birth" name="birth" style="width:120px"/></td> <td><div id="birthTip" style="width:250px"></div></td> </tr> <tr> <td align="right">身份证号:</td> <td><input type="text" id="idCardNo" name="idCardNo" style="width:150px"/></td> <td><div id="idCardNoTip" style="width:250px"></div></td> </tr> <tr> <td align="right">电子邮箱:</td> <td><input type="text" id="email" name="email" style="width:120px" /></td> <td><div id="emailTip" style="width:250px"></div></td> </tr> <tr> <td align="right">学历:</td> <td> <select id="education" name="education"> <option value="">-请选择学历-</option> <option value="a">专科</option> <option value="b">本科</option> <option value="c">硕士</option> <option value="d">博士</option> </select> </td> <td><div id="educationTip" style="width:250px"></div></td> </tr> <tr> <td align="right">兴趣爱好:</td> <td colspan="2"> <input type="checkbox" name="interests" id="interests1" value="0"/> 乒乓球 <input type="checkbox" name="interests" id="interests2" value="1" /> 羽毛球 <input type="checkbox" name="interests" id="interests3" value="2" /> 上网 <input type="checkbox" name="interests" id="interests4" value="3" /> 旅游 <input type="checkbox" name="interests" id="interests5" value="4" /> 购物 </td> </tr> <tr> <td colspan="2"><div id="interestsTip" style="width:250px"></div></td> </tr> <tr> <td align="right">手机号码:</td> <td><input type="text" id="telephoneNo" name="telephoneNo" style="width:120px" /></td> <td><div id="telephoneNoTip" style="width:250px"></div></td> </tr> <tr> <td align="right">联系电话:</td> <td><input type="text" id="phoneNo" name="phoneNo" style="width:120px" /></td> <td><div id="phoneNoTip" style="width:250px"></div></td> </tr> <tr> <td align="right" valign="top">自我描述:</td> <td colspan="2" valign="top"> <textarea id="desc" name="desc" cols="50" rows="10">请输入描述...

<%@ page language="java" contentType="text/html;charset=utf-8" pageEncoding="utf-8"%> <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>修改个人信息</title> </head> <body> <form action="update.action" method="post"> <table border="0px" style="font-size:12px" mce_style="font-size:12px" width="630px"> <tr> <td align="right">用户名:</td> <td>${userMap['username']}</td> </tr> <tr> <td align="right">性别:</td> <td><input type="radio" id="gender" value="0" name="gender" <c:if test="${userMap['gender']=='男'}">checked='checked'</c:if>/> 男 <input type="radio" id="gender" value="1" name="gender" <c:if test="${userMap['gender']=='女'}">checked='checked'</c:if>/> 女</td> </tr> <tr> <td align="right">年龄:</td> <td><input type="text" id="age" style="width:120px" name="age" value="${userMap['age']}" class="fv_input_text_default" /></td> </tr> <tr> <td align="right">出生日期:</td> <td><input type="text" id="birth" name="birth" value="${userMap['birth']}" style="width:120px"/></td> </tr> <tr> <td align="right">身份证号:</td> <td><input type="text" id="idCardNo" name="idCardNo" value="${userMap['idCardNo']}" style="width:150px"/></td> </tr> <tr> <td align="right">电子邮箱:</td> <td><input type="text" id="email" name="email" value="${userMap['email']}" style="width:120px" /></td> </tr> <tr> <td align="right">学历:</td> <td> <select id="education" name="education"> <option value="">-请选择学历-</option> <option value="a" <c:if test="${userMap['education']=='a'}">selected='selected'</c:if> >专科</option> <option value="b" <c:if test="${userMap['education']=='b'}">selected='selected'</c:if>>本科</option> <option value="c" <c:if test="${userMap['education']=='c'}">selected='selected'</c:if>>硕士</option> <option value="d" <c:if test="${userMap['education']=='d'}">selected='selected'</c:if>>博士</option> </select> </td> </tr> <tr> <td align="right">兴趣爱好:</td> <td colspan="2"> <c:forEach items="${interest}" var="hobby"> <c:if test="${hobby=='0'}"> <c:set var="bp" value="checked='checked'"/> </c:if> <c:if test="${hobby=='1'}"> <c:set var="ym" value="checked='checked'"/> </c:if> <c:if test="${hobby=='2'}"> <c:set var="sw" value="checked='checked'"/> </c:if> <c:if test="${hobby=='3'}"> <c:set var="ly" value="checked='checked'"/> </c:if> <c:if test="${hobby=='4'}"> <c:set var="gw" value="checked='checked'"/> </c:if> </c:forEach> <input type="checkbox" name="interests" id="interests1" value="0" ${bp}/> 乒乓球 <input type="checkbox" name="interests" id="interests2" value="1" ${ym}/> 羽毛球 <input type="checkbox" name="interests" id="interests3" value="2" ${sw}/> 上网 <input type="checkbox" name="interests" id="interests4" value="3" ${ly}/> 旅游 <input type="checkbox" name="interests" id="interests5" value="4" ${gw}/> 购物 </td> </tr> <tr> <td align="right">手机号码:</td> <td><input type="text" id="telephoneNo" name="telephoneNo" value="${userMap['telephoneNo']}" style="width:120px" /></td> </tr> <tr> <td align="right">联系电话:</td> <td><input type="text" id="phoneNo" name="phoneNo" value="${userMap['phoneNo']}" style="width:120px" /></td> </tr> <tr> <td align="right" valign="top">自我描述:</td> <td colspan="2" valign="top"> <textarea id="desc" name="desc" cols="50" rows="10">${userMap['desc']}
<%@ page language="java" contentType="text/html;charset=utf-8" pageEncoding="utf-8"%> <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>个人信息页面</title> </head> <body> <c:choose> <c:when test="${!empty userMap}"> 你的用户名:${userMap['username']}<br/> 年龄:${userMap['age']}<br/> 出生日期:${userMap['birth']}<br/> 性别:${userMap['gender']}<br/> 身份证号:${userMap['idCardNo']}<br/> 电子邮箱:${userMap['email']}<br/> 学历: <c:choose> <c:when test="${userMap['education']=='a'}"> 专科 </c:when> <c:when test="${userMap['education']=='b'}"> 本科 </c:when> <c:when test="${userMap['education']=='c'}"> 硕士 </c:when> <c:otherwise> 博士 </c:otherwise> </c:choose><br/> 兴趣爱好: <c:forEach items="${interest}" var="hobby"> <c:choose> <c:when test="${hobby=='0'}"> 乒乓球 </c:when> <c:when test="${hobby=='1'}"> 羽毛球 </c:when> <c:when test="${hobby=='2'}"> 上网 </c:when> <c:when test="${hobby=='3'}"> 旅游 </c:when> <c:when test="${hobby=='4'}"> 购物 </c:when> </c:choose> </c:forEach> <br/> 手机号码:${userMap['telephoneNo']}<br/> 联系电话:${userMap['phoneNo']}<br/> 自我描述:${userMap['desc']}<br/> <a href="toUpdate.action" mce_href="toUpdate.action">修改信息</a> </c:when> <c:otherwise> 没有你的信息 </c:otherwise> </c:choose> </body> </html>

MongoDB+Struts2+JQuery.formValidator插件的web应用示例

MongoDB+Struts2+JQuery.formValidator插件的web应用示例

MongoDB+Struts2+JQuery.formValidator插件的web应用示例

MongoDB+Struts2+JQuery.formValidator插件的web应用示例

MongoDB+Struts2+JQuery.formValidator插件的web应用示例

MongoDB+Struts2+JQuery.formValidator插件的web应用示例

MongoDB+Struts2+JQuery.formValidator插件的web应用示例