| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 13/10/2007 18:52:08
|
SfamRcks
What is classpath?
Membro desde: 02/05/2006 16:53:20
Mensagens: 7
Offline
|
Galera,
Meu problema é o seguinte, quero criar um campo de texto (InputText) ou area de texto (InputArea) dinamicamente, por intermédio de um botão.
Quero fazer isso pois cada usuário pode criar um (ou mais) formulário de especificação, e cada formulário pode ter um número diferente de especificações. Isso quer dizer que eu não sei quantos campos eu preciso de antemão. Por isso quero fazer um botão que adicione um campo de texto toda vez que for clicado.
Sou iniciante em JSF, estou usando Myfaces e Tomahawk no Eclipse Europa para J2EE developers no Linux.
|
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 22/10/2007 10:56:00
|
SfamRcks
What is classpath?
Membro desde: 02/05/2006 16:53:20
Mensagens: 7
Offline
|
Galera, consegui descobrir como faz para criar componentes dinamicamente ou programaticamente, o colega ferryman me ajudou bastante e depois eu encontrei um exemplo na net.
Basicamente vc tem que pegar uma instancia da aplicação do FacesContext (FacesContext.getCurrentInstance().getApplication) pois só a partir do application será capaz de usar o método createComponent (Valeu pela dica Ferryman) .
Exemplo:
fonte : http://mail-archives.apache.org/mod_mbox/myfaces-users/200604.mbox/%3C443A52A3.70403@wavegroup.it%3E
Esta é a tag que sua pagina tem que conter, precisa de um binding para chamar outro componente
Este é o seu bean java
A saída gerada pelo código java é similar a essa saída
Só lembrando que para criar os componentes e para que estes sejam vistos precisamos de um panelGrid ou um panelGroup.
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 28/01/2009 09:44:26
|
bebad
JavaEvangelist
![[Avatar]](/images/avatar/ca49dcab7677fd5d3108f9a9b250d604.jpg)
Membro desde: 27/07/2006 19:56:35
Mensagens: 303
Offline
|
Puta velho,
<%@ taglib uri="http://myfaces.apache.org/trinidad" prefix="tr"%>
<%@ taglib uri="http://richfaces.org/rich" prefix="rich"%>
to tentando usar esse componente:
rich:datascroller
só que meu sitema usa o trinidad e o tipo do form é tr:form
dai olha só que fita:
parece que o richfaces tem que achar o formulario da pagina, e ai ele usa esse metodo:
UIForm form= RendererUtils.getInstance().getNestingForm(context, component);
que chama esse outro:
UIComponent parent = component.getParent();
while (parent != null && !(parent instanceof UIForm)) {
parent = parent.getParent();
}
bom acontece que como vcs viram meu form é do tipo: tr:form e nao h:form
logo !(parent instanceof UIForm) allways will evaluate false;
e vai ser true, vai entrar no while e vai procurar outro parent, sou seja nunca vou conseguir fazer o fdp entender que meu form nao é h:form...
cai nesse toopico pq eu vi essa linha:
text.setRendererType("javax.faces.Text");
bom,
sei la...vou tentar aqui setar um outro form hardcoded no meu componente e ver oque acontece...mas acho que isso nao vai funcionar..
se alguem ai tiver uma luz no fim do tunel, e souber bastante de trinidad...myfaces, richfaces e puder dar uma luz eu vou ser eternamente grato..
valeu.
full stacktrace:
This message was edited 1 time. Last update was at 28/01/2009 09:49:18
|
Admin.. PATCH your box now, or DIE!!!
Oracle Certified Associate, Java SE 5/SE 6
Oracle Certified Professional, Java SE 6 Programmer
Oracle Certified Professional, Java ME 1 Mobile Application Developer
Oracle Certified Expert, Java EE6 Web Services Developer
Oracle Certified Master, Java EE 5 Enterprise Architect
Oracle Certified Professional, Java EE 5 Web Component Developer
Oracle Certified Professional, Java EE 5 Business Component Developer
representing the old school defacers brazil:
red_eye
ATH
ir4dex
hax0rs lab
IoN
r00t_system
kernel_panic
bebad was here. |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 28/01/2009 11:51:31
|
SfamRcks
What is classpath?
Membro desde: 02/05/2006 16:53:20
Mensagens: 7
Offline
|
Olha, estou um pouco afastado de JSF no momento, mas vamos tentar...
Pelo que eu entendi a sua comparação !(parent instanceof UIForm) nunca vai dar certo por um componente ser trinidad e o outro não ser trinidad (não olhei pra saber de qual taglib vem seu "common")...
Se esse for o caso, tente:
Dê uma modificada a seu gosto....
a parte importante pra vc é essa:
retirado de http://struts.apache.org/1.x/struts-faces/xref/org/apache/struts/faces/renderer/CommandLinkRenderer.html
|
|
|
 |
|
|
|
|