Dúvidas com Struts

Bom dia a todos,

Por favor, gostaria de saber se ao colocar na assinatura o método o parâmetro bean, se dentro desse método posso declarar outras variáveis que iriei passar em minha query?!
A minha query esta retornando os valores vazios, pra dizer a verdade não sei mais o q fazer, devo estar errando alguma bobeira, mas não consigo identificar o q é.

Código do DAO:

package raa.ebt.dao;

import java.sql.Connection;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;

import raa.ebt.form.CadPDVFusaoForm;
import raa.ebt.vo.CadPDVFusaoVO;


public class CadPDVFusaoDAO extends ConnectionDAO{
	
	String sql = "";
	
	public List listarPDV(CadPDVFusaoVO pdvFusaoVO){
		
		int regiao = 0;
		int codPai = 0;
		int codFilho = 0;
		
		List listaPDV = new ArrayList();
		
		try{
			
			System.out.println("Entrou CadPDVFusaoDAO");
			Connection con = getConnection();
			
			System.out.println("Antes da Query");
			
			//" WHERE F.nidregiao = '1'" +
			//" WHERE F.nidregiao = ? " +
							
			String sql = " SELECT f.sidagentevenda, " +
						 " f.pdv_filho, " +
						 " NVL(VP.snomeagentevenda, '') nome_pai, " +
						 " NVL(vf.snomeagentevenda,'') nome_filho " +
						 " FROM tbldealer_fusao f, " +
						 " 		TBLAGENTECANALVENDA VP, " +
						 "		TBLAGENTECANALVENDA VF " +
						 " WHERE F.nidregiao = '" + regiao + "'" +						 
						 " AND F.sidagentevenda = VP.SIDAGENTEVENDA" +
						 " AND F.pdv_FILHO = VF.SIDAGENTEVENDA";
			
			if(pdvFusaoVO.getCodPDVPai() > 0){
				sql = sql + " and F.sidagentevenda >= '" + codPai + "'";
				//sql = sql + " AND F.sidagentevenda >= ? ";
			}
			if(pdvFusaoVO.getCodPDVFilho() > 0){
				sql = sql + " and F.pdv_filho >= '" + codFilho + "'";
				//sql = sql + " AND F.pdv_filho >= ? ";
			}			
			sql = sql + " ORDER BY F.sidagentevenda ";
						
			pstm = con.prepareStatement(sql);
			
			//pstm.setInt(1,pdvFusaoVO.getRegiao());				
			//pstm.setInt(2,pdvFusaoVO.getCodPDVPai());
			//pstm.setInt(3,pdvFusaoVO.getCodPDVFilho());
											
			System.out.println("Depois da query");			
			System.out.println("SQL: " + sql);
			System.out.println("getRegiao: " + pdvFusaoVO.getRegiao());
			System.out.println("getCodPDVPai: " + pdvFusaoVO.getCodPDVPai());
			System.out.println("getCodPDVFilho: " + pdvFusaoVO.getCodPDVFilho());
			
		    rs = pstm.executeQuery();
		      
		    System.out.println("Antes do while");
		    
		    while (rs.next()){
		    	
		    	//CadPDVFusaoVO pdvFusaoVO = new CadPDVFusaoVO();		    	
		    	System.out.println("Entrou no while");
		    	pdvFusaoVO.setRegiao(rs.getInt("nidregiao"));
		    	pdvFusaoVO.setDescPDVPai(rs.getString("sidagentevenda") + "(" + rs.getString("snomeagentevenda")+")" + "<--" + (rs.getString("pdv_filho") + "(" + rs.getString("snomeagentevenda")+")"));		      	 	
		    	
		    	System.out.println("Resultado: " + (rs.getString("sidagentevenda") + "(" + rs.getString("snomeagentevenda")+")" + "<--" + (rs.getString("pdv_filho") + "(" + rs.getString("snomeagentevenda")+")")));		    			    		      	
		      	listaPDV.add(pdvFusaoVO);		      
		    };
		    
		    System.out.println("Depois do while");  
			
			}catch(java.sql.SQLException sqlException){
				System.out.println("sqlException: "+ sqlException);
			}catch(Exception e){
			  	System.out.println("Exception: "+ e);
			}finally{
			  	try{
			  		System.out.println("Antes de fechar conexao.");
			  		con.close();
			  		System.out.println("Depois de fechar conexao.");
			  	}catch(SQLException sqlException){
			  		System.out.println("sqlException: "+ sqlException);
			  	}
			}
			  
		return listaPDV;
	}
}

Action:

public class CadPDVFusaoAction extends DispatchAction {

	public ActionForward carrega( ActionMapping mapping, ActionForm form,
			HttpServletRequest request, HttpServletResponse response)
			throws Exception {
		
			UtilitarioDAO utilitariodao = new UtilitarioDAO();
		    HttpSession session = request.getSession();
		    //Carrega regiao
		    List lista = utilitariodao.getListaRegiao();
		    if(lista.isEmpty())
		        session.removeAttribute("lstRegiao");
		    else
		        session.setAttribute("lstRegiao", lista);
			
			return mapping.findForward("success");		
	}
	
	public ActionForward executaPesquisa( ActionMapping mapping, ActionForm form,
			HttpServletRequest request, HttpServletResponse response)
			throws Exception {		
			
			System.out.println("CadPDVFusaoAction.entrou");
		    
			CadPDVFusaoVO pdvFusaoVO = new CadPDVFusaoVO();
			CadPDVFusaoDAO pdvFusaoDAO = new CadPDVFusaoDAO();			
			CadPDVFusaoForm pdvFusaoForm = (CadPDVFusaoForm) form;
			
			System.out.println("CadPDVFusaoForm.entrou");		
			
			pdvFusaoVO.setRegiao(Integer.parseInt(pdvFusaoForm.getRegiao()));			
			System.out.println("Regiao: " + Integer.parseInt(pdvFusaoForm.getRegiao()));			
					
			
			if (pdvFusaoForm.getCodPDVPai() == null || pdvFusaoForm.getCodPDVPai() == ""){
				pdvFusaoVO.setCodPDVPai(0);
			}else{
				pdvFusaoVO.setCodPDVPai(Integer.parseInt(pdvFusaoForm.getCodPDVPai()));
				System.out.println("CodPDVPai: " + Integer.parseInt(pdvFusaoForm.getCodPDVPai()));
			}
			
			if (pdvFusaoForm.getCodPDVFilho() == null || pdvFusaoForm.getCodPDVFilho() == "" ){
				pdvFusaoVO.setCodPDVFilho(0);
			}else{
				pdvFusaoVO.setCodPDVFilho(Integer.parseInt(pdvFusaoForm.getCodPDVFilho()));
				System.out.println("CodPDVFilho: " + Integer.parseInt(pdvFusaoForm.getCodPDVFilho()));
			}		
						
			pdvFusaoVO.setDescPDVPai(pdvFusaoForm.getDescPDVPai());
			System.out.println("DescPDVPai: " + pdvFusaoForm.getDescPDVPai());
			
			pdvFusaoVO.setDescPDVFilho(pdvFusaoForm.getDescPDVFilho());
			System.out.println("DescPDVFilho: " + pdvFusaoForm.getDescPDVFilho());
			
			List listaPDV = pdvFusaoDAO.listarPDV(pdvFusaoVO);
			
			HttpSession session = request.getSession();
			
			if (listaPDV.isEmpty()){ 
				session.removeAttribute("lstPDVFusao");				
			}
			else{
				session.setAttribute("lstPDVFusao", listaPDV);				
			}
		return mapping.findForward("success");
		}

Desde já agradeço,
Vitor

ola,

pelo que entendi, vc quer saber se pode usar no select as variaveis criada no método ? é isso?Pode sim sem problemas,
mas pelo que estou vendo ali as variaveis que vc criou estão com valor zero, e deve ser por isso que não traz nada no seu select…

em vez de usar as variaveis… usa a propriedade do objeto mesmo…
por exemplo:
if(pdvFusaoVO.getCodPDVPai() > 0){
sql = sql + " and F.sidagentevenda >= ‘" + [color=green]pdvFusaoVO.getCodPDVPai()[/color] + "’";
//sql = sql + " AND F.sidagentevenda >= ? ";
}