JSF2 i AJAX

0

Witam,
Mam taki najprostszy kod w JSF 2.2 (wiem, ze moge uzywac CDI beans, jestem tego swiadomy, ale nie o to pytam):

<h:form
   <h:inputText value="#{helloBean.msg}" />
   <h:outputText value="#{helloBean.msg}" />
</h:form>

Managed Bean:

package pl.pakiet.viewbeans;

import java.util.Date;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.ViewScoped;

@ManagedBean
@ViewScoped
public class HelloBean {
    
    private String msg;
    private Date date;

    public HelloBean() {
    }

    public String getMsg() {
        return msg;
    }

    public void setMsg(String msg) {
        this.msg = msg;
    }

    public Date getDate() {
        return date;
    }

    public void setDate(Date date) {
        this.date = date;
    }
    
}

Efekt dzialania jest nastepujacy:
Po nacisnieciu ENTER wartosc jest odswiezana. Zalezy mi na efakcie, aby od razu po wpisaniu znaku byl on widoczny w outputText.

Chce uzyskac efakt czysto AJAXowy i zrobic to live tzn. aby wpisany ciag znakow byl widoczny od razu w inputext.

Bede wdziezny za info jak najprosciej to zrobic.

Dodatkowe pytanie: czy naciskajac ENTER robie postback? (wydaje mi sie, ze nie: nie widac przeladowania strony)

Pozdrawiam,

0

Na szybko

<h:form>
<h:inputText value="#{helloBean.msg}" >
<f:ajax event="keyup"/>
</inputText>
<h:outputText value="#{helloBean.msg}" />
</h:form>

0

Niestety, u mnie to nie dziala: musze nacisnac ENTER, aby pokazal sie odswiezony content.

Probowalem tez:

<h:form>
                <h:inputText value="#{helloBean.msg}" >
                    <f:ajax event="change"/>
                </h:inputText>
                <h:outputText value="#{helloBean.msg}" />
</h:form>

Bez skutku.

2

<h:form>
<h:inputText value="#{helloBean.msg}" >
<p:ajax event="keyup" update="output"/>
</h:inputText>
<h:outputText id="output" value="#{helloBean.msg}" />
</h:form>

0

Dziękuje blondi, Twój kod byl dla mnie pomocny.

1 użytkowników online, w tym zalogowanych: 0, gości: 1