Remover colchetes da concatenação do método toString()
16/01/2015 20:07
0
Olá moçada, após executar o método toString() no final do código abaixo, por padrão a saída na view é dentro de colchetes, já testei com .replaceAll() substring() para remover os colchetes porém sucesso, alguém tem alguma sugestão de preferência que o tratamento pudesse ser na própria classe do domínio, e em último caso na view? Vlw!

class Endereco {

Prestador prestador
DestacaLocal ibge
String bairro
String cep
String cnes
String cnpjCpf
String complemento
String ddd
String email
String endereco
String fax
String fone1
String fone2
String numero
String site
String tipo
Boolean oculta
Boolean publica

static mapping = {
id generator: "assigned"
version false
}

static constraints = {
endereco nullable: true
numero nullable: true
complemento()
bairro nullable: true
cep nullable: true
ibge nullable: false
cnes nullable: true
cnpjCpf nullable: true
email nullable: true
fone1()
fax nullable: true
fone2 nullable: true
site nullable: true
oculta nullable: true
publica nullable: true
}

String toString(){
"${endereco + numero + complemento}"
}
}

A saída do jeito que está é essa: [paulista2500apt.3]
Tags: toString(), colchetes


0
Simples!


String toString() {
"$endereco $numero $complemento"
}


0
Olá Kico desde já agradeço pela ajuda, e parabenizo por todo o projeto do Grails Brasil, é o meu primeiro post aqui e também o primeiro projeto desenvolvido em Grails. Com relação à sua resposta, não funcionou, acho que faltou algumas informações complementares na minha pergunta, segue abaixo:

Versão do Grails 2.3.7

Além do domínio endereço, tenho outro domínio chamado prestador, que é na verdade onde o problema está ocorrendo, quando acesso .../prestador/index ele lista as demais informações corretamente, somente as do campo endereço que ainda aparecem entre os colchetes, segue abaixo o código do domínio prestador, suprimi as demais variáveis por não serem importantes para a questão, a modelagem do banco legado que recebi, aponta que o relacionamento endereço/prestador é de 1 pra muitos:

class Prestador {

static hasMany = [endereco: Endereco]

static constraints = {

nomePrestador()
//demais variáveis
endereco()

}

static mapping = {
//id generator: "assigned"
version false

}

String toString(){
return nomePrestador
}


}

Muito obrigado!
19/01/2015 11:59


0
Resolução do problema:

No domínio Endereco formatei as informações retornadas pelo método toString() ficando assim:

/**Como a variável "complemento" pode receber valores nulos foi realizado tratamento para que não fosse exibido "Null" na view**/

String toString(){
return endereco+ ", " +numero+ " " +"${complemento?: ''}"
}

No domínio "Prestador" conforme o Kico falou no post: http://www.grailsbrasil.com.br/post/show/843 apenas sobrescrevi o método toString() da classe Endereco utilizando o método abaixo:

def getEndereco(){
Endereco.findByPrestador(this)
}

Vlw Kico!
20/01/2015 17:46



Ainda não faz parte da comunidade???

Para se registrar, clique aqui.


Aprenda Groovy e Grails com a Formação itexto!

Newsletter Semana Groovy

Assinar

Envie seu link!


Livro de Grails


/dev/All

Os melhores blogs de TI (e em português) em um único lugar!

 
Creative Commons
RSS Grails Brasil é mantido por itexto Consultoria.
Em caso de problemas contacte Henrique Lobo Weissmann (Kico) por e-mail: kico@itexto.com.br
Todo o conteúdo presente neste site adota o Creative Commons como licença padrão.
Ver: 4.14.0
itexto