Please help me in Struts2, I am stucked in action....

The problem is that I have a application form for accessing that form you
should be registered in the database. So the login utility will check for
the password & email in the database if it is there than it will go to the
app. form otherwise it will throw an error. It is working fine until I want
a dropdown in the form say that contains all the States and Cities of India.
I want this thing to retrieve from the database but initially I am checking
by hardcoding whether its working or not.

So, my Action contains 2 method one is default execute() method which is
populating the States of India but the problem is that in the struts.xml
file when I am not stating any method than it is executing the default
execute method and populating the dropdown but the validation method is not
executing and when I am passing the validating method than it is not
populating the dropdown. I am sending my codes please help where I am wrong,
its very urgent yaar.

I tried redirection also by  Message-Store-Interceptor also but that is also
not working when I tried to write the states addition list separately in a
class file.

*Struts.xml*
- Hide quoted text -
<action name="ApplyOL" class="net.Candidate.application.ApplyAction" 
method="applyinterface()"> --> For validation if I remove this method than
validation is not working but populating the dropdown.
<result name="input" type="tiles">Apply</result>
<result name="error" type="tiles">Apply</result>
<result name="success" type="tiles">OLAppForm</result>
</action>

*tiles.xml*
<definition name="OLAppForm" extends="CandidateBaseLayout">
                <put-attribute name="title" value="INAT Online Application 
Registration"
/>
                <put-attribute name="menu" value="/Tiles/candidateMenu.jsp" />
                <put-attribute name="body" 
value="/pages/application/OLAppForm.jsp" />
        </definition>

*ApplyAction.java*
package net.Candidate.application;

import java.io.*;
import java.sql.*;
import java.util.*;

import com.opensymphony.xwork2.ActionSupport;
import com.opensymphony.xwork2.ActionContext;

import net.database.*;
import net.Candidate.application.model.Apply;
import net.Candidate.application.State;

public class ApplyAction extends ActionSupport {
        
        private Apply apply;
        private List state;
        
        public String execute() throws Exception{
                System.out.println(state);
                  state = new ArrayList();
                  state.add("Maharashtra");
                  state.add("Kerala");
                  state.add("Karnataka");
                  state.add("TamilNadu");
                  return SUCCESS;
                  }
        
        public List getState(){
                return state;   
                }
        
        
        public String applyinterface() {
                try 
                {
                        Connection connect = null;
                        ResultSet result = null;
                        PreparedStatement pstmt = null;
                        
                        DBConnection getConnect = new DBConnection();
                        connect = getConnect.getCon();
                        
                        int id=0;
                        String qry = "SELECT id FROM Register WHERE AppEmail=? 
&& RegPasswd=?";
                        pstmt = connect.prepareStatement(qry);
                        pstmt.setString(1, apply.getEmail());
                        pstmt.setString(2, apply.getPassword());
                        result = pstmt.executeQuery();
                        while(result.next())
                        {
                                id = result.getInt(1);
                        }
                        System.out.println(id);
                        boolean comparing = (id == 0); 
                        
                        if (comparing == true)
                        {                       
                                
addActionError(getText("validate_notRegistered"));
                        return ERROR;
                        }
                        
                        else
                        {
                        return SUCCESS; 
                        }
                                  
                } catch (SQLException e) {
                        e.printStackTrace();
                }
                return SUCCESS;
        }

        public Apply getApply() {
                return apply;
        }       
        public void setApply(Apply apply) {
                this.apply = apply;
        }       
}

*Apply.java*
package net.Candidate.application.model;

import com.opensymphony.xwork2.ActionSupport;

public class Apply extends ActionSupport{
        
        private String password;
        private String email;

        public String getPassword() {
                return password;
        }
        public void setPassword(String password) {
                this.password = password;
        }

        public String getEmail() {
                return email;
        }
        public void setEmail(String email) {
                this.email = email;
        }
         public Apply()
            {
            }
}


*JSP File*
---
---
---
 <s:select label="Select Day" name="daysname" headerKey="1" headerValue="--
Please Select --" list="state"/>
---
---
---

I am also trying like this......
*ApplyAction.java*
package net.Candidate.application;

import java.io.*;
import java.sql.*;
import java.util.*;

import com.opensymphony.xwork2.ActionSupport;
import com.opensymphony.xwork2.ActionContext;

import net.database.*;
import net.Candidate.application.model.Apply;
import net.Candidate.application.State;

public class ApplyAction extends ActionSupport {
        
        private Apply apply;
        
        public String applyinterface() {
                try 
                {
                        Connection connect = null;
                        ResultSet result = null;
                        PreparedStatement pstmt = null;
                        
                        DBConnection getConnect = new DBConnection();
                        connect = getConnect.getCon();
                        
                        int id=0;
                        String qry = "SELECT id FROM Register WHERE AppEmail=? 
&& RegPasswd=?";
                        pstmt = connect.prepareStatement(qry);
                        pstmt.setString(1, apply.getEmail());
                        pstmt.setString(2, apply.getPassword());
                        result = pstmt.executeQuery();
                        while(result.next())
                        {
                                id = result.getInt(1);
                        }
                        System.out.println(id);
                        boolean comparing = (id == 0); 
                        
                        if (comparing == true)
                        {                       
                                
addActionError(getText("validate_notRegistered"));
                        return ERROR;
                        }
                        
                        else
                        {       
                                //return SUCCESS; <sx:head parseContent="true"/>
                                
                                int StateID = 0;
                                String State = "";
                                ResultSet result_state = null;
                                
                                String Stateqry = "Select * from state";
                                pstmt = connect.prepareStatement(Stateqry);
                                result_state = pstmt.executeQuery();
                                {
                                        while (result_state.next())
                                        {
                                            StateID = result_state.getInt(1);   
 
                                                State = 
result_state.getString(2);
                                                System.out.println(State);
                                        }
                                 } 
                        }
                                  
                } catch (SQLException e) {
                        e.printStackTrace();
                }
                return SUCCESS;
        }

        public Apply getApply() {
                return apply;
        }       
        public void setApply(Apply apply) {
                this.apply = apply;
        }       
}

So, how can I pass the value of State & StateID in the jsp <s:select> tag's
list, I tried many options but neither of them working, Please
help..........

--
View this message in context: 
http://struts.1045723.n5.nabble.com/Struts2-he-requested-list-key-state-could-not-be-resolved-as-a-collection-array-map-enumeration-itere-tp4524539p4524539.html
Sent from the Struts - User mailing list archive at Nabble.com.

---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscr...@struts.apache.org
For additional commands, e-mail: user-h...@struts.apache.org

Reply via email to