Problema imprimir variavel string no servlet

4 respostas
D

Saudações, estou desenvolvendo um servlet de chat onde tenho o método doPost que entre suas diversas rotinas possue:

String[] values = req.getParameterValues("Fontes");
		   		if (values != null) {
				int length = values.length;
				for (int i=0; i<length; i++) {
             this.fonte = "<font face="" + values[i] +  ""</font> sss";
			 getFonte();

O método getFonte est definido como:

public String getFonte(){
	return this.fonte;
			 }

No inicio da classe criei o atributo fonte:
String fonte = “teste”;

O método getFonte chamo em outra servlet criando um objeto da classe onde está o getFonte e depois faço:
“Chat:” + OBJETODACLASSEGETFONTE.getFonte;

Mas está imprimindo Teste e não o valor pego em

this.fonte = <font face=" + values[i] +  “”</font> sss";

getFonte();

Alguém sabe o que tem de errado?

4 Respostas

_fs

Bem, você tem certeza que algum valo está sendo passado para o servlet em:

req.getParameterValues("Fontes");

Debugue e veja se a condição if está sendo satisfeita.

E outra coisa, não dá para ver o resto do código, mas no seu laço for, a variável ‘font’ só está guardando o último valor.

for (int i=0; i<length; i++) { 
    this.fonte = "<font ...
D

Sim, coloquei:

String[] values = req.getParameterValues("Fontes"); System.out.println("Peguei getParameter"); e retornou
Peguei getParameter, o valor de values e [Ljava.lang.String;@b23d12

No final coloquei

if (values != null) {
				int length = values.length;
				for (int i=0; i<length; i++) {
             fonte = "<font face="" + values[i] +  "">";
			 System.out.println("Executei o laço, e recebi fonte com valor " + fonte);

e retornou:
Executei o laþo, e recebi fonte com valor <font face=“Arial”>

Na outra classe fiz:

System.out.println("O valor de log.fonte é " + log.fonte);

e retorna
O valor de log.fonte é

Estou achando bem estranho!!!

_fs

Bem … pode postar o código todo envolvido nas duas classes bem comentadinhos? :smiley:

D
LIPE obrigado pela força, msa resolvi, um amigo pediu para fazer:

public static ThreadLocal fonteSet = new ThreadLocal();

Login.fonteSet.set("<font face=" + values[i] + >);

// String fonte = (String) Login.fonteSet.get();

E resolveu!!!

Obrigado pela atenção!

Criado 8 de junho de 2004
Ultima resposta 8 de jun. de 2004
Respostas 4
Participantes 2