Hi I have the following application done successfully with out validation HomePage.jsp ////////////////////// <%@ taglib uri="/tags/struts-bean" prefix="bean" %> <%@ taglib uri="/tags/struts-html" prefix="html" %> <%@ taglib uri="/tags/struts-logic" prefix="logic" %>
<[EMAIL PROTECTED] import="java.sql.*"%> <html:html locale="true"> <script> function set(){ var count=document.forms[0].status.length; document.forms[0].avalues.value=""; for(var i=0;i<count;i++){ if(document.forms[0].status[i].checked==true){ document.forms[0].status[i].value="checked"; }else{ document.forms[0].status[i].value="ignore"; } document.forms[0].avalues.value+=document.forms[0].status[i].value+" "; } } </script> <head> <html:base/> </head> <%!Connection con=null; Statement stmt=null; ResultSet rs=null;%> <% try{ Class.forName("com.mysql.jdbc.Driver"); Connection con=DriverManager.getConnection("jdbc:mysql://localhost:3306/raghu","root","root"); stmt=con.createStatement(); String str="select uname from users"; rs=stmt.executeQuery(str); } catch(Exception ex){ ex.printStackTrace(); } %> <body bgcolor="white"> <html:form action="/process"> <center><h3><bean:message key="welcome.heading"/></h3></center><br> <center> <table ><tr><td><html:submit property="parameter" value="addUser" /> </td> <td><html:select property="action"> <option value="">select</option> <option value="delete">Delete</option> </html:select> </td> <td><html:submit property="parameter" value="Go" onclick="set()" /></td> </tr></table></center> <center> <table> <% if(rs!=null){ while(rs.next()){%> <tr><td> <html:checkbox property="status" styleId="status" styleId="status" value="unchecked"/></td><td></td><td></td><td></td><td></td><td></td> <td><html:link action="/process3?user=<%=rs.getString(1).toString()%>" ><%=rs.getString(1)%></html:link></td></tr> <%}}else{}%> </table> <html:hidden property="avalues" styleId="avalues" /> </center> </html:form> </body> </html:html> ///////////////////////// Config file <?xml version="1.0" encoding="ISO-8859-1" ?> <!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.1//EN" "http://jakarta.apache.org/struts/dtds/struts-config_1_1.dtd"> <!-- This is a blank Struts configuration file with an example welcome action/page and other commented sample elements. Tiles and the Struts Validator are configured using the factory defaults and are ready-to-use. NOTE: If you have a generator tool to create the corresponding Java classes for you, you could include the details in the "form-bean" declarations. Otherwise, you would only define the "form-bean" element itself, with the corresponding "name" and "type" attributes, as shown here. --> <struts-config> <!-- ==================================== Data Source Configuration --> <!-- <data-sources> <data-source> <set-property property="autoCommit" value="false"/> <set-property property="description" value="Example Data Source Configuration"/> <set-property property="driverClass" value="org.postgresql.Driver"/> <set-property property="maxCount" value="4"/> <set-property property="minCount" value="2"/> <set-property property="password" value="mypassword"/> <set-property property="url" value="jdbc:postgresql://localhost/mydatabase"/> <set-property property="user" value="myusername"/> </data-source> </data-sources> --> <!-- ======================================== Form Bean Definitions --> <form-beans> <form-bean name="inputForm" type="com.bob.StrutsTask.TaskForm"/> <!-- sample form bean descriptor for a DynaActionForm <form-bean name="logonForm" type="org.apache.struts.action.DynaActionForm"> <form-property name="username" type="java.lang.String"/> <form-property name="password" type="java.lang.String"/> end sample --> </form-beans> <!-- ================================= Global Exception Definitions --> <global-exceptions> <!-- sample exception handler <exception key="expired.password" type="app.ExpiredPasswordException" path="/changePassword.jsp"/> end sample --> </global-exceptions> <!-- =================================== Global Forward Definitions --> <global-forwards> <!-- Default forward to "Welcome" action --> <!-- Demonstrates using index.jsp to forward --> </global-forwards> <!-- =================================== Action Mapping Definitions --> <action-mappings> <!-- Default "Welcome" action --> <!-- Forwards to Welcome.jsp --> <action path="/process" name="inputForm" type="com.bob.StrutsTask.StrutsAction" parameter="parameter" input="/pages/HomePage.jsp" > <forward name="add" path="/pages/add.jsp"/> <forward name="success" path="/pages/HomePage.jsp"/> <forward name="failed" path="/pages/HomePage.jsp"/> </action> <action path="/process2" name="inputForm" type="com.bob.StrutsTask.StrutsAction" parameter="parameter" input="/pages/add.jsp" > <forward name="success" path="/pages/HomePage.jsp"/> </action> <action path="/process3" name="inputForm" type="com.bob.StrutsTask.UserAction" input="/pages/HomePage.jsp"> <forward name="success" path="/pages/add.jsp"/> </action> </action-mappings> <!-- ===================================== Controller Configuration --> <controller processorClass="org.apache.struts.tiles.TilesRequestProcessor"/> <!-- ================================ Message Resources Definitions --> <message-resources parameter="java.resources.application"/> <!-- ======================================= Plug Ins Configuration --> <!-- ========== Tiles plugin =================== --> <!-- --> <!-- This plugin initialize Tiles definition factory. This later can takes some parameters explained here after. The plugin first read parameters from web.xml, then overload them with parameters defined here. All parameters are optional. The plugin should be declared in each struts-config file. - definitions-config: (optional) Specify configuration file names. There can be several comma separated file names (default: ?? ) - moduleAware: (optional - struts1.1) Specify if the Tiles definition factory is module aware. If true (default), there will be one factory for each Struts module. If false, there will be one common factory for all module. In this later case, it is still needed to declare one plugin per module. The factory will be initialized with parameters found in the first initialized plugin (generally the one associated with the default module). true : One factory per module. (default) false : one single shared factory for all modules - definitions-parser-validate: (optional) Specify if xml parser should validate the Tiles configuration file. true : validate. DTD should be specified in file header. (default) false : no validation Paths found in Tiles definitions are relative to the main context. --> <!-- comment following if struts1.0.x --> <plug-in className="org.apache.struts.tiles.TilesPlugin" > <set-property property="definitions-config" value="/WEB-INF/tiles-defs.xml" /> <set-property property="moduleAware" value="true" /> <set-property property="definitions-parser-validate" value="true" /> </plug-in> <!-- end comment if struts1.0.x --> <plug-in className="org.apache.struts.validator.ValidatorPlugIn"> <set-property property="pathnames" value="/WEB-INF/validator-rules.xml,/WEB-INF/validation.xml"/> </plug-in> </struts-config> //////// TaskForm.java package com.bob.StrutsTask; import org.apache.struts.action.ActionForm; public class TaskForm extends ActionForm{ String parameter=""; String action=""; String uname=""; String password=""; String repassword=""; String role=""; String fname=""; String lname=""; String company=""; String email=""; String phone=""; String baddress=""; String saddress=""; String bcity=""; String scity=""; String bstate=""; String sstate=""; String bzip=""; String szip=""; String bcountry=""; String scountry=""; String status[]; String user=""; String avalues=""; public String getAction() { return action; } public void setAction(String action) { this.action = action; } public String getCompany() { return company; } public void setCompany(String company) { this.company = company; } public String getEmail() { return email; } public void setEmail(String email) { this.email = email; } public String getFname() { return fname; } public void setFname(String fname) { this.fname = fname; } public String getLname() { return lname; } public void setLname(String lname) { this.lname = lname; } public String getParameter() { return parameter; } public void setParameter(String parameter) { this.parameter = parameter; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } public String getPhone() { return phone; } public void setPhone(String phone) { this.phone = phone; } public String getRole() { return role; } public void setRole(String role) { this.role = role; } public String getUname() { return uname; } public void setUname(String uname) { this.uname = uname; } public String getBaddress() { return baddress; } public void setBaddress(String address) { baddress = address; } public String getBcity() { return bcity; } public void setBcity(String bcity) { this.bcity = bcity; } public String getBcountry() { return bcountry; } public void setBcountry(String bcountry) { this.bcountry = bcountry; } public String getBstate() { return bstate; } public void setBstate(String bstate) { this.bstate = bstate; } public String getBzip() { return bzip; } public void setBzip(String bzip) { this.bzip = bzip; } public String getRepassword() { return repassword; } public void setRepassword(String repassword) { this.repassword = repassword; } public String getSaddress() { return saddress; } public void setSaddress(String saddress) { this.saddress = saddress; } public String getScity() { return scity; } public void setScity(String scity) { this.scity = scity; } public String getScountry() { return scountry; } public void setScountry(String scountry) { this.scountry = scountry; } public String getSstate() { return sstate; } public void setSstate(String sstate) { this.sstate = sstate; } public String getSzip() { return szip; } public void setSzip(String szip) { this.szip = szip; } public String[] getStatus() { return status; } public void setStatus(String[] status) { this.status = status; } public String getUser() { return user; } public void setUser(String user) { this.user = user; } public String getAvalues() { return avalues; } public void setAvalues(String avalues) { this.avalues = avalues; } } ////////// Action class package com.bob.StrutsTask; import java.sql.Connection; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.apache.struts.action.ActionForm; import org.apache.struts.action.ActionForward; import org.apache.struts.action.ActionMapping; import org.apache.struts.actions.DispatchAction; public class StrutsAction extends DispatchAction { public ActionForward addUser(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { return mapping.findForward("add"); } public ActionForward Go(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { TaskForm tform=(TaskForm)form; System.out.println("entered into action"); UserDetails udetails=new UserDetails(); Connection con=udetails.getConnection(); System.out.println("entered into action2"); String status=udetails.deleteUsers(tform,con); return mapping.findForward("success"); } public ActionForward SaveUser(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { TaskForm tform=(TaskForm)form; UserDetails udetails=new UserDetails(); Connection con=udetails.getConnection(); String status=udetails.saveData(tform,con); return mapping.findForward(status); } public ActionForward UpdateUser(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { TaskForm tform=(TaskForm)form; UserDetails udetails=new UserDetails(); Connection con=udetails.getConnection(); String status=udetails.updateData(tform,con); return mapping.findForward(status); } } /// UserDetails.java package com.bob.StrutsTask; import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; import java.util.ArrayList; import org.apache.struts.validator.DynaValidatorForm; public class UserDetails { Connection con=null; Statement stmt=null; ResultSet rs=null; ArrayList ar=null; public Connection getConnection(){ try{ Class.forName("com.mysql.jdbc.Driver"); con=DriverManager.getConnection("jdbc:mysql://localhost:3306/raghu","root","root"); }catch(Exception ex){ con=null; } return con; } public ArrayList getUserDetails(String user,Connection con)throws Exception{ try{ stmt=con.createStatement(); System.out.println(user); String str="select * from users where uname='"+user+"'"; rs=stmt.executeQuery(str); ar=new ArrayList(); if(rs!=null){ while(rs.next()){ System.out.println(rs.getString(1).toString()); System.out.println(rs.getString(2).toString()); System.out.println(rs.getString(3).toString()); ar.add(rs.getString(1)); ar.add(rs.getString(2)); ar.add(rs.getString(3)); ar.add(rs.getString(4)); ar.add(rs.getString(5)); ar.add(rs.getString(6)); ar.add(rs.getString(7)); ar.add(rs.getString(8)); ar.add(rs.getString(9)); ar.add(rs.getString(10)); ar.add(rs.getString(11)); ar.add(rs.getString(12)); ar.add(rs.getString(13)); ar.add(rs.getString(14)); ar.add(rs.getString(15)); ar.add(rs.getString(16)); ar.add(rs.getString(17)); ar.add(rs.getString(18)); } }else{ System.out.println("result set is empty"); } }catch(SQLException sex){ sex.printStackTrace(); } return ar; } public String saveData(TaskForm tform,Connection con){ String status=""; status="failed"; String uname=tform.getUname().toString(); String pswd=tform.getPassword().toString(); String role=tform.getRole().toString(); String fname=tform.getFname().toString(); String lname=tform.getLname().toString(); String company=tform.getCompany().toString(); String email=tform.getEmail().toString(); long phone=Long.parseLong(tform.getPhone().toString()); String baddress=tform.getBaddress().toString(); String saddress=tform.getSaddress().toString(); String bcity=tform.getBcity().toString(); String scity=tform.getScity().toString(); String bstate=tform.getBstate().toString(); String sstate=tform.getSstate().toString(); String bzip=tform.getBzip().toString(); String szip=tform.getSzip().toString(); String bcountry=tform.getBcountry().toString(); String scountry=tform.getScountry().toString(); try{ if(con!=null){ String fquery="select * from users where uname='"+uname+"' and pswd='"+pswd+"'"; Statement stmt=con.createStatement(); ResultSet rst=stmt.executeQuery(fquery); if(rst!=null){ if(rst.next()){ }else{ String query="insert into users values(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)"; PreparedStatement pstmt=con.prepareStatement(query); pstmt.setString(1,uname); pstmt.setString(2,pswd); pstmt.setString(3,role); pstmt.setString(4,fname); pstmt.setString(5,lname); pstmt.setString(6,company); pstmt.setString(7,email); pstmt.setLong(8,phone); pstmt.setString(9,baddress); pstmt.setString(10,saddress); pstmt.setString(11,bcity); pstmt.setString(12,scity); pstmt.setString(13,bstate); pstmt.setString(14,sstate); pstmt.setString(15,bzip); pstmt.setString(16,szip); pstmt.setString(17,bcountry); pstmt.setString(18,scountry); pstmt.executeUpdate(); }} status="success"; }}catch(Exception ex){ ex.printStackTrace(); } return status; } public String updateData(TaskForm tform,Connection con){ String status="failed"; try{ if(con!=null){ String query="update users set pswd=?,role=?,fname=?,lname=?,company=?,email=?,phone=?," + " baddress=?,saddress=?,bcity=?,scity=?,bstate=?,sstate=?,bzip=?,szip=?,bcountry=?" + ",scountry=? where uname=?"; PreparedStatement pstmt=con.prepareStatement(query); pstmt.setString(1,tform.getPassword().toString()); pstmt.setString(2,tform.getRole().toString()); pstmt.setString(3,tform.getFname().toString()); pstmt.setString(4,tform.getLname().toString()); pstmt.setString(5,tform.getCompany().toString()); pstmt.setString(6,tform.getEmail().toString()); pstmt.setLong(7,Long.parseLong(tform.getPhone().toString())); pstmt.setString(8,tform.getBaddress().toString()); pstmt.setString(9,tform.getSaddress().toString()); pstmt.setString(10,tform.getBcity().toString()); pstmt.setString(11,tform.getScity().toString()); pstmt.setString(12,tform.getBstate().toString()); pstmt.setString(13,tform.getSstate().toString()); pstmt.setInt(14,Integer.parseInt(tform.getBzip().toString())); pstmt.setInt(15,Integer.parseInt(tform.getSzip().toString())); pstmt.setString(16,tform.getBcountry().toString()); pstmt.setString(17,tform.getScountry().toString()); pstmt.setString(18,tform.getUname().toString()); pstmt.executeUpdate(); status="success"; }} catch(Exception ex){ ex.printStackTrace(); } return status; } public String deleteUsers(TaskForm tform,Connection con){ String status="failed"; try{ String action=tform.getAction().toString(); if(action.equalsIgnoreCase("delete")){ String array=tform.getAvalues(); String[] values=array.split(" "); int count=values.length; System.out.println(count); for(int i=0;i<count;i++){ System.out.println(values[i]); } Statement stmt=con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_UPDATABLE); rs=stmt.executeQuery("select* from users"); int index=0; while(rs.next()){ if(values[index].equalsIgnoreCase("checked")){ rs.deleteRow(); } index++; } status="success"; }else{ status="failed"; } }catch(SQLException ex){ ex.printStackTrace(); }catch(ArrayIndexOutOfBoundsException aex){ aex.printStackTrace(); } return status; } } ////// I run the program successfully but when i changed Action form to validator form and inserted attribute validate="true" in config file.and populated validate.xml i m not getting error but when i tried to execute no action is trrigering in jsp if i click add user or Go also no action is occuring Can i change Action form to validatore form in middle of application if i change again to action form the application is working properly. Can any one help me in this regards thanks in advance Raghu varma bhupathiraju -- View this message in context: http://www.nabble.com/Plz-help-not-getting-o-p-when-changed-to-validator-form-tp17062809p17062809.html Sent from the Struts - User mailing list archive at Nabble.com. --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]