jsf 2 передача значения в диалог не работает

Я хочу передать значение диалогу, но это не сработает. Я пробовал этот подход, но не повезло

Вот моя страница:

<!DOCTYPE html >
<html xmlns="http://www.w3.org/1999/xhtml"
      xmlns:h="http://java.sun.com/jsf/html"
      xmlns:p="http://primefaces.org/ui">
    <h:head>
        <title></title>
    </h:head>
    <h:body>
        <h:form>
            <p:inputText value="#{myManagedBean.input}"/>
            <p:commandButton value="edit" onclick="dlg.show()"/>

            <p:dialog widgetVar="dlg" modal="true">
                passed value:<p:inputText value="#{myManagedBean.input}"/>
            </p:dialog>
        </h:form>
    </h:body>
</html>

и мой управляемый компонент

import java.io.Serializable;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.ViewScoped;

@ManagedBean
@ViewScoped
public class MyManagedBean implements Serializable {

    private String input;

    public String getInput() {
        return input;
    }

    public void setInput(String input) {
        this.input = input;
    }
}

Я что-то пропустил?


person borj    schedule 01.08.2013    source источник


Ответы (1)


Сначала вам нужно установить значение в поле «ввод». после того, как вам нужно показать свое диалоговое окно.

вы можете сделать это как. Измените свой код в соответствии с этим кодом.

Обратите внимание на атрибуты "immediate" и "oncomplete".

<h:body>
        <h:form>
            Input : <p:inputText value="#{myBean.input}" immediate="true"/>
            <p:commandButton value="Sumbit" oncomplete="dlg.show()" update=":form2"/>
        </h:form>
        <h:form id="form2">
            <p:dialog widgetVar="dlg" modal="true">
                passed value:<p:inputText value="#{myBean.input}"/>
            </p:dialog>
        </h:form>
    </h:body>
person KSHiTiJ    schedule 01.08.2013
comment
Плохо, я забыл изменить имя компонента, извините, теперь все работает, спасибо ^^ - person borj; 02.08.2013