JSP + richfaces ... duvida

6 respostas
renato_ramos

oi gente …

eu estava montando um projeto em visual jsf no netbeans… ms surgiu a necessidade de usar richfaces…

gostaria de saber se tem como misturar um aruiqvo que contenha tag com as tag do rich faces.

c tiver … me dah uma dica de como fazer … por favor!

valeu!

Renato Ramos

6 Respostas

danielfigueiredoc

Como assim misturar um arquivo?
Você quer saber se tem como usar ambas as tags de bibliotecas diferentes no mesmo jsp ou xhtml? Se for isso, sim tem como.

renato_ramos

eh desculpa… usei a palavra errada…

ms é isso msm que vc disse

<jsp:root version="2.1" xmlns:f="http://java.sun.com/jsf/core" xmlns:h="http://java.sun.com/jsf/html" xmlns:jsp="http://java.sun.com/JSP/Page" xmlns:webuijsf="http://www.sun.com/webui/webuijsf">
    <jsp:directive.page contentType="text/html;charset=UTF-8" pageEncoding="UTF-8"/>
    <f:view>
        <webuijsf:page id="page1">
            <webuijsf:html id="html1">
                <webuijsf:head id="head1">
                    <webuijsf:link id="link1" url="/resources/stylesheet.css"/>
                    <webuijsf:link id="link2" url="/resources/stylesheet.css"/>
                </webuijsf:head>
                <webuijsf:body id="body1" style="-rave-layout: grid">
                    <webuijsf:form binding="#{cadastro_questao.formQuestao}" id="formQuestao">
                        <webuijsf:textField binding="#{cadastro_questao.textFieldQuestao}" columns="50" id="textFieldQuestao" style="left: 96px; top: 72px; position: absolute"/>
                        <webuijsf:label id="label1" style="left: 24px; top: 72px; position: absolute" text="Questão:"/>
                    </webuijsf:form>
                </webuijsf:body>
            </webuijsf:html>
        </webuijsf:page>
    </f:view>
</jsp:root>

meu codigo é esse por enquanto… qru colocar um botao… que qndo o usuario clicar … vai aparecer um input… só que tem que n’s imputs

não faço ideia de como fazer isso =/

renato_ramos

oie!

brincando aqui consegui resovler uma das questões

colocar ambas tags no mesmo arquivo

<jsp:root version="2.1" xmlns:f="http://java.sun.com/jsf/core" xmlns:h="http://java.sun.com/jsf/html" xmlns:jsp="http://java.sun.com/JSP/Page" xmlns:webuijsf="http://www.sun.com/webui/webuijsf">
    <jsp:directive.page contentType="text/html;charset=UTF-8" pageEncoding="UTF-8"/>
    <f:view>
        <webuijsf:page id="page1">
            <webuijsf:html id="html1">
                <webuijsf:head id="head1">
                    <webuijsf:link id="link1" url="/resources/stylesheet.css"/>
                    <webuijsf:link id="link2" url="/resources/stylesheet.css"/>
                </webuijsf:head>
                <webuijsf:body id="body1" style="-rave-layout: grid">
                    <webuijsf:form binding="#{cadastro_questao.formQuestao}" id="formQuestao">
                        <webuijsf:textField binding="#{cadastro_questao.textFieldQuestao}" columns="50" id="textFieldQuestao" style="left: 96px; top: 72px; position: absolute"/>
                        <webuijsf:label id="label1" style="left: 24px; top: 72px; position: absolute" text="Questão:"/>
                    </webuijsf:form>

                    <webuijsf:form id="formAlternativa" style="height: 96px; left: 96px; top: 168px; position: absolute; width: 240px">
                        <ui:composition xmlns="http://www.w3.org/1999/xhtml"
                            xmlns:ui="http://java.sun.com/jsf/facelets"
                            xmlns:h="http://java.sun.com/jsf/html"
                            xmlns:f="http://java.sun.com/jsf/core"
                            xmlns:a4j="http://richfaces.org/a4j"
                            xmlns:rich="http://richfaces.org/rich">
                                    <rich:inplaceInput defaultLabel="Click here to edit" showControls="true"
                                        controlsHorizontalPosition="left" controlsVerticalPosition="bottom"
                                        id="inplaceInput">

                                        <f:facet name="controls">
                                            <button onmousedown="#{rich:component('inplaceInput')}.save();" type="button">Save</button>
                                            <button onmousedown="#{rich:component('inplaceInput')}.cancel();"
                                                type="button">Cancel</button>
                                        </f:facet>

                                    </rich:inplaceInput>
                                    <rich:spacer height="25px" width="100%"/>
                        </ui:composition>
                    </webuijsf:form>
                </webuijsf:body>
            </webuijsf:html>
        </webuijsf:page>
    </f:view>
</jsp:root>

peguei o exemplo desse site http://livedemo.exadel.com/richfaces-demo/richfaces/inplaceInput.jsf?tab=usage&cid=2182532

mas agora a questao é… e pra fazer uma quantidade incerta de inputs?

danielfigueiredoc

Cara se você quer fazer uma quantidade incerta de inputs, eu vejo isso resolvido de duas formas:

1º: Você pode criar todos inputs e no atributo rendered você controla quais devem ou aparecer.
2º: Caso você não saiba nem o máximo de inputs possível, ou um c:foreach, um repeat qql loop pra fazer as inputs aparecerem, de acordo com algum valor. Ou você pode montar pela classe, por exemplo você instancia um modalPanel e nele adiciona os inputText.

HtmlPanel richPanel; // lembrando sempre de importa as bibliotecas do rich.
    HtmlInputText input; //ai você da um crtl spaco que vc vai ver as mesmas opção q ve no .html, setar value, id, rendered, etc...
    //para adicionar o input no panel você faz:
    richPanel.getChildren().add(input);

para passar o panel com os inputs pro html (ou xhtml) você usa o binding:

<rich:Panel binding="#{Classe.richPanel}"/> //lembrando de definir get e set's

Ai você colocar em loop alguma lista e para cada item, você instancia um new HtmlInputText(), e no final adiciona ele no richPanel.

Abraço!

renato_ramos

Oi Daniel, obrigado pela atenção…

mais tarde eu irie tentar essa dica…

[]'s

renato_ramos

Oie

demorei mas eu fiz,

agora outra pergunta … c não for pedir muito…

pra onde e como eu faço o bind dos novos inputs??

Criado 13 de outubro de 2009
Ultima resposta 22 de out. de 2009
Respostas 6
Participantes 2