struts-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Raghu varma bhupathiraju <raghuvarm...@rediffmail.com>
Subject Plz help not getting o/p when changed to validator form
Date Mon, 05 May 2008 14:25:29 GMT

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" %>

<%@page 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"
/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</td>
<td><html:select property="action">
<option value="">select</option>
<option value="delete">Delete</option>
</html:select>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</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: user-unsubscribe@struts.apache.org
For additional commands, e-mail: user-help@struts.apache.org


Mime
View raw message