Estou montando uma aplicação em jsf e preciso montar uma parte da página com links dinâmicos, com uma String que será retornada de um outro método… Isso em jsp seria fácil de implementar, mas eu não me recordo de ter visto nada em jsf que me ajude…
Qualquer sugestão será realmente bem-vinda, obrigado a todos!
Obs: não sei como vc vai gerar os links , então fiz um exemplo básico para efeito de exemplo
public class MBguj {
private String link;
public String geraLink(){
String[] links = { "link-1", "link-2" , "link-3"};
Random random = new Random();
int linkNumber = random.nextInt(3);
switch (linkNumber){
case 0: {
link = links[linkNumber];
break;
}
case 1:{
link = links[linkNumber];
break;
}
case 2:{
link = links[linkNumber];
break;
}
}
return "link"; // sua pagina
}
public void setLink(String link) {
this.link = link;
}
public String getLink() {
return link;
}
}
Vou tentar adaptar no que eu preciso (desculpem não postar os detalhes antes), que é mais ou menos o seguinte:
O usuário digita uma palavra no textBox da caixa a direita, e então as palavras relacionadas são retornadas. Quando o usuário clicar em uma delas, a palavra deve ser colocada no textBox a esquerda. Essa caixa da direita está implementada em um bean paralelo ao bean da página.
O problema é que não sei quantas palavras serão retornadas na busca. Vou precisar usar um outputLink para todas elas?
Passei a semana procurando um jeito de fazer esses links, mas não achei nada que ajudasse… alguém tém alguma idéia de como montar essa lista de links dinâmicos? Pelo que passei mais perto, foi com um dataTable, mas não consegui implementá-la dinamicamente.
Eu dei uma olhada no google, e o outputLink serve quando não há o método action, comum ao commandLink; no meu caso, uma ação é necessária (por exemplo, quando a pessoa clica no link ‘Doente’ na caixa de apoio de senso comum - ‘Doente’ deve aparecer na caixa de texto )
Eu também não sei quantos links eu vou precisar gerar de antemão pra por as tags no jsf.
Pelo que eu vi por último, acho que o caso seria montar uma dataTable dinamicamente e colocar os links de acordo com os dados que voltam da busca, mas tô sofrendo pacas com a falta de exemplos.
Então você não quer navegar para uma outra página através de um link normal (a href), pelo visto você quer executar uma ação no managed bean.
Mesmo assim não entendi a dificuldade de um datatable iterar uma lista de objetos e gerar command-links.
Sim, é isso mesmo, o problema começa por estar trabalhando com dois beans diferentes… mas já estou vendo um pouco como funciona injeção de dependência.
A dificuldade que eu tenho é a falta de conhecimento sobre Jsf :oops: ; sou novo na área.
Você poderia me indicar algum site ou livro onde eu possa ver como eu faço algo do tipo? Procurei no google durante a semana mas não achei nada que fosse de muita ajuda.