0

私はこのサンプルコードを持っています、

私のxhtmlページ。

<html xmlns="http://www.w3.org/1999/xhtml"
    xmlns:ui="http://java.sun.com/jsf/facelets"
    xmlns:h="http://java.sun.com/jsf/html"
    xmlns:p="http://primefaces.org/ui"
    xmlns:f="http://java.sun.com/jsf/core">
<h:head>
</h:head>
<h:body>
    <p:dataList value="#{dataListView.lista}" var="l" type="unordered"
        itemType="none" paginator="true" rows="1" styleClass="paginated">
        <f:facet name="header">
                Paginator
            </f:facet>
        <p:selectOneRadio id="resposta" value="#{dataListView.resposta}">
            <f:selectItem itemLabel="Certo" itemValue="Certo" />
            <f:selectItem itemLabel="Errado" itemValue="Errado" />
        </p:selectOneRadio>
    </p:dataList>
</h:body>
</html>

マイビーン

package br.com.so.teste;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import javax.annotation.PostConstruct;
import javax.enterprise.context.SessionScoped;
import javax.faces.view.ViewScoped;
import javax.inject.Named;

import br.com.so.modelo.Questao;

@Named
@ViewScoped
public class DataListView implements Serializable {

    private List<String> lista;
    private String resposta;

    @PostConstruct
    public void init() {
        lista = new ArrayList<>();
        lista.add("1");
        lista.add("2");
        lista.add("3");
        lista.add("4");
        lista.add("5");
    }

    public List<String> getLista() {
        return lista;
    }

    public void setLista(List<String> lista) {
        this.lista = lista;
    }

    public String getResposta() {
        return resposta;
    }

    public void setResposta(String resposta) {
        this.resposta = resposta;
    }

}

ページ ビューを変更するとエラーが表示されます。ページ '1' のラジオ ボタンをオンにしてページ '2' に移動し、ページ '1 に戻ると、ページネーションに (1,2,3...) があります。 ' ラジオ ボタンはチェックされていません。なぜそれが起こるのですか?どうすれば修正できますか? radioButtons で値をチェックしておく必要があります。

4

1 に答える 1