Problema com request.getParameter("")

Pessoal estou começando no Java e estou com a seguinte dúvida.

String CodLanc = request.getParameter("tabid"); String lancamento = new String(CodLanc); System.out.println(lancamento);

Por que “lancamento” não consegue receber o valor de “CodLanc”?

Mas por que isso?
Faz direto

String CodLanc = request.getParameter("tabid");  
System.out.println(CodLanc); 

Outra coisa, a nomenclatura para variáveis diz que ele precisa começar com letra minúscula.

porque o “CodLanc” recebe por exemplo CodLanc=“1378416,1263519,1239015,1244291”. E eu preciso quebrar esses números por vŕgula

Meu código

[code]package CmdExec;

import java.sql.;
import javax.servlet.http.
;
import SubMacroUtils.Erro;
import SubMacroUtils.FormatDate;
import SubMacroUtils.Geral;
import java.util.StringTokenizer;

/**

  • Unigates

  • @author DTI - Unimedms
    */
    public class CmdExecExcluirLanc extends CmdExecDefault {

    public boolean execute(HttpServletRequest request, HttpServletResponse response) {
    // obtendo dados padrao
    setDefaultDBParameters(request, response);
    //
    try {

         String CodLanc = (getParameter(request, "tabid"));
         String teste = CodLanc;
         String datahora = FormatDate.getDataAtualFormatDateTime();
         // executar alguma operacao e retornar HTML via AJAX
         StringBuilder HTMLBuf = new StringBuilder();
         response.setContentType("text/html");
         response.setHeader("Cache-Control", "no-cache");
         StringBuilder sql = new StringBuilder("select distinct ra.rga_nome_arquivo as arquivo, ra.rga_documento as fatura from ung_registros_arquivos ra where ra.rga_lar_numero_importacao in "
                 + "(select l.lan_numero_importacao from ung_lancamentos l where l.lan_cod_lancamento in (" + CodLanc + "))");
         PreparedStatement pstmt = connLocal.prepareStatement(sql.toString());
         ResultSet ps = pstmt.executeQuery();
         while (ps.next()) {
             String arquivo = ps.getString("arquivo");
             StringTokenizer valores = new StringTokenizer(teste, ",");
             while (valores.hasMoreTokens()) {
                 String valor = valores.nextToken(); 
                 CallableStatement cs = connLocal.prepareCall("{? = call F_REMOVELANCAMENTOS(?,?,?,?)}");
                 cs.registerOutParameter(1, java.sql.Types.INTEGER);
                 cs.setString(2, valor);
                 cs.setString(3, null);
                 cs.setString(4, null);
                 cs.setString(5, null);
                 cs.execute();
                 cs.close();
                 int retfunc = cs.getInt(1);
                 CallableStatement cs1 = connLocal.prepareCall("{? = call F_EXCLUI_A500(?)}");
                 cs1.registerOutParameter(1, java.sql.Types.INTEGER);
                 cs1.setString(2, arquivo);
                 cs1.execute();
                 cs1.close();
                 int retfunc01 = cs1.getInt(1);
                 String MsgLog = " CmdExecExcluirLanc fatura = " + ps.getString("fatura") + " Arquivo: " + arquivo + " Usuario logado: " + usuario + " Retorno da F_EXCLUI_A500: " + retfunc01 + " Retorno da F_REMOVELANCAMENTOS: " + retfunc + " - " + datahora;
                 Geral.SaveLog(connLocal, servlet.getProperty("SQLCodUsuario"), "E", "Usuario-> " + usuario + MsgLog, usuario, "CmdExecExcluirLanc", servlet.getProperty("NomeTabelaLog"), servlet.getProperty("DbName"));
                 if (retfunc == 1 || retfunc01 == 1) {
                     HTMLBuf.append("Ação processada com sucesso...\n");
                     HTMLBuf.append("A fatura com código: " + CodLanc + " foi excluida com sucesso");
                 } else {
                     HTMLBuf.append("Registro não encontrado!");
                 }
             }
         }
         response.getWriter().write(Geral.TirarAcentos(HTMLBuf.toString()));
         return true;
    
     } catch (Exception e) {
         Erro.GerarException(e, NomeArqException, DebugException, "CmdExecExcluirLanc");
         return false;
     }
    

    }
    }

[/code]

Ok, então faça o split.

Desculpe minha ignorância. Mas como seria o split?

Solucionado?

String[] str = CodLanc.split(",");

não solucionado

drsmachado vou tentar do jeito que me falou, depois coloco o resultado

drsmachado funcionou! muito obrigado pela dica

Em Java é falta de educação criar variáveis iniciadas com letra maiúscula!

Com certeza.
Primeira letra maiúscula apenas quando se trata de Classe ou CONSTANTE, que, convenciona-se, seja toda em letras maiúsculas.

ex:

[code]public static void main(String[] args) {

    String exemplo = "a|b|c|d|e|f";   
       
    String[] temp = StringUtils.split(exemplo, "|");   
       
    for (int i = 0; i < temp.length; i++) {   
           
        System.out.println( temp[i]);   
    }   

} [/code]

Fonte: http://www.guj.com.br/java/42204-metodo-split-da-classe-string

Entendeu?

Valeu andredecotia.

Já consegui resolver.

ex:

[code]public static void main(String[] args) {

    String exemplo = "a|b|c|d|e|f";   
       
    String[] temp = StringUtils.split(exemplo, "|");   
       
    for (int i = 0; i < temp.length; i++) {   
           
        System.out.println( temp[i]);   
    }   

} [/code]

Fonte: http://www.guj.com.br/java/42204-metodo-split-da-classe-string

Entendeu?[/quote]

Só lembrando que split("|");
Não funciona. Ele irá separar caracter a caracter.
Agora

split("\|");

Funciona.