最好买本书看看.
an classical example using isValidate() check validation in a JavaBean which can be reused in different jsp pages.
That's one of reasons why jsp is better than ASP(not ASP.net)
for detailed explaination, see www.jspin.com---tips and tutorial---form----advanced form processing
public String arrayToString(String[] arr){
String temp="";
int n=arr.length;
for (int i=0;i<n;i++)
{temp=temp+arr[i]+",";}
temp=temp.substring(0,(temp.length()-1));
return temp;
}
public boolean validate() {
System.out.println(firstName+","+lastName+","+email+","+userName+","+password1+","+zip+","+arrayToString(faveMusic)+","+notify);
boolean allOk=true;
if (firstName.equals("")) {
errors.put("firstName","Please enter your first name");
firstName="";
allOk=false;
}
if (lastName.equals("")) {
errors.put("lastName","Please enter your last name");
lastName="";
allOk=false;
}
if (email.equals("") || (email.indexOf('@') == -1)) {
errors.put("email","Please enter a valid email address");
email="";
allOk=false;
}
if (userName.equals("")) {
errors.put("userName","Please enter a username");
userName="";
allOk=false;
}else{
System.out.println(userName);
String querySQL="select * from register where username='"+userName+"'";
try{
rs=execQuery(querySQL);
if(rs.next()) {
errors.put("userName","The username has been exist,请换一个please change another");
allOk=false;
}
}catch(SQLException ex){
System.out.println ("\n*** SQLException caught ***\n");
while (ex != null) {
System.out.println("SQLState:" +ex.getSQLState());
System.out.println(" Message :" +ex.getMessage());
System.out.println(" Vendor :" +ex.getErrorCode());
ex = ex.getNextException ();
}
}catch (java.lang.Exception ex) {
ex.printStackTrace ();
}
/*if(isDouble){
errors.put("userName","The username has been exist,请换一个please change another");
allOk=false;
}*/
}
if (password1.equals("") ) {
errors.put("password1","Please enter a valid password");
password1="";
allOk=false;
}
if (!password1.equals("") && (password2.equals("") ||
!password1.equals(password2))) {
errors.put("password2","Please confirm your password");
password2="";
allOk=false;
}
if (zip.equals("") || zip.length() !=5 ) {
errors.put("zip","Please enter a valid zip code");
zip="";
allOk=false;
} else {
try {
int x = Integer.parseInt(zip);
} catch (NumberFormatException e) {
errors.put("zip","Please enter a valid zip code");
zip="";
allOk=false;
}
}
if (allOk){
System.out.println("prepare to insert :");
System.out.println(firstName+","+lastName+","+email+","+userName+","+password1+","+zip+","+notify);
String strSQL="insert into register (username,password,firstname,lastname,email,zip,favorite,acception) " ;
strSQL=strSQL+"values('"+userName+"','"+password1+"','"+firstName+"','"+lastName+"','"+email+"','"+zip+"','"+arrayToString(faveMusic)+ "'," +true +")";
//firstName+lastName+email+userName+password1+zip+notify
System.out.println("strSQl: "+strSQL);
int n=execUpdate(strSQL);
System.out.println("insert "+n+"record");
if (n==0){
allOk=false;
errors.put("DB Access","Sorry,DataBase access failed!");
}
public FormBean() {
System.out.println("create FormBean ok");
firstName="";
lastName="";
email="";
userName="";
password1="";
password2="";
zip="";
faveMusic = new String[] { "1" };
notify="";
errors = new Hashtable();
connect();
}
public String getFirstName() {
return firstName;
}
public String getLastName() {
return lastName;
}
public String getEmail() {
return email;
}
public String getUserName() {
return userName;
}
public String getPassword1() {
return password1;
}
public String getPassword2() {
return password2;
}
public String getZip() {
return zip;
}
public String getNotify() {
return notify;
}
public String[] getFaveMusic() {
return faveMusic;
}
public String isCbSelected(String s) {
boolean found=false;
if (!faveMusic[0].equals("1"))
{
for (int i = 0; i < faveMusic.length; i++)
{
if (faveMusic[i].equals(s)) {
found=true;
break;
}
}
if (found) return "checked";
}
return "";
}