regăsiți obiectul sesiunii în vizualizarea jsf

Am un RequestController (@ ManagedBean și @ViewScoped) și este afișat ca scop, deoarece folosim unele apeluri ajax.

Am un tabel de date cu rezultat și fiecare rezultat cu un buton


     

Această metodă primește obiectul selectat din tabela mea de date și este setat pe sesiune, funcționează, problema este că nu știu cum să obțin acest obiect de sesiune din punctul meu de vedere.

public void requestDetail() throws IOException {
        FacesContext context = FacesContext.getCurrentInstance();
    context.getExternalContext().getSessionMap().put("requestDetail",backing.selectedRequestVO);context.getExternalContext().redirect(context.getExternalContext().getRequestContextPath() + "/views/request/detail.html");
    }

Trebuie să o accesez din punctul meu de vedere, deoarece acest obiect are detaliile cererii.

1

1 răspunsuri

Este disponibil doar prin numele atributului pe care l-ați specificat.

#{requestDetail}

Rețineți că aceasta nu este abordarea corectă. Ar trebui să aveți o altă șansă de administrare a fasolei pe care o injectați ca @ManagedProperty în fasolea gestionată cu scopul de a vizualiza domeniul și apoi setați detaliul cererii ca proprietate.

@ManagedBean
@ViewScoped
public class RequestController {

    @ManagedProperty("#{requestDetail}")
    private RequestDetail requestDetail;

    public String requestDetail() {
        requestDetail.setSelectedRequestVO(backing.getSelectedRequestVO());
        return "/views/request/detail.html?faces-redirect=true";
    }     

   //...
}

cu

@ManagedBean
@SessionScoped
public class RequestDetail {

    private RequestVO selectedRequestVO;

   //...
}

pe care apoi accesați după cum urmează

#{requestDetail.selectedRequestVO} 
3
adăugat
esti cu adevarat bun prietenul meu =)
adăugat autor Gerep, sursa
Există o schimbare pentru acest @SessionScoped care nu funcționează?
adăugat autor Gerep, sursa
această linie este ok, obiectul a fost returnat și setat pe requestDetail , dar într-un fel nu a fost setat pe sesiune și când încerc să-i obțin valorile proprietăților în viziunea mea nu apare nimic.
adăugat autor Gerep, sursa
Cu plăcere. De asemenea, rețineți că am simplificat abordarea redirecționării.
adăugat autor BalusC, sursa
JavaScript, România - Moldova
JavaScript, România - Moldova
328 participanți

Comunitatea Română JavaScript: github.com/js-ro Pentru confort, opriți notificările. Parteneri: @node_ro, @php_ro, @python_ro, @seo_ro, @RomaniaGroup, @ai_ro, @Grupuri_IT Offtop: @holywars_ro Joburi: @js_jobs_ro Sponsored with ❤️ by ciupacabra.com