Цель недоступна после вызова Stateful Session Bean - PullRequest
0 голосов
/ 13 июня 2019

Итак, в основном я создал файл xhtml и управляемый компонент JSF, который я использую с этим файлом xhtml.И все работало нормально.Но позже мне пришлось вызвать Stateful Session Bean в файле управляемого JSF-компонента и использовать его методы.Поскольку я использую IDE NetBeans, я назвал SSB (щелкните правой кнопкой мыши -> вставить код -> вызвать корпоративный компонент).И после его вызова я по какой-то причине получаю целевую недоступную ошибку (и я даже еще не вызывал ни один из ее методов).

Вот файл xhtml:

<?xml version='1.0' encoding='UTF-8' ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
      xmlns:h="http://xmlns.jcp.org/jsf/html"
      xmlns:f="http://xmlns.jcp.org/jsf/core"
      xmlns:p="http://primefaces.org/ui">
    <h:head>
        <title>Početna stranica</title>
    </h:head>
    <h:body onload="#{korisnikIndex.dohvatiSveKorisnike()}">            
        <h:form style="display:#{korisnikIndex.uspjesnaPrijava}" >
            <h:link value="Upravljanje Aerodromima " outcome="upravljanjeAerodromima.xhtml"/>
            <br></br>
            <h:link value="Upravljanje letovima" outcome="upravljanjeLetovima.xhtml"/>
            <br></br>
            <h:link value="Napredne stavke aerodroma" outcome="napredneStavkeAerodroma.xhtml"/>
            <br></br>
            <h:link value="Pregled poruka" outcome="pregledPoruka.xhtml"/>
            <br></br>
            <h:link value="Pregled dnevnika" outcome="pregledDnevnika.xhtml"/>
        </h:form >
        <h:form >
            Prijava       
            <h:panelGrid columns="2">
                <h:outputLabel value="Korisničko ime:" style="font-weight: bold;"/>
                <h:inputText value="#{korisnikIndex.prijavljeniKorisnikKorime}"/>

                <h:outputLabel value="Lozinka:" style="font-weight: bold;"/>
                <h:inputSecret value="#{korisnikIndex.prijavljeniKorisnikLozinka}"/>
            </h:panelGrid>
            <br></br>
            <h:commandButton value="Prijavi se"
                             id="gumbPrijava"
                             action="#{korisnikIndex.prijavaKorisnika()}">
            </h:commandButton>

        <br></br>

            Registracija       
            <h:panelGrid columns="2">
                <h:outputLabel value="Ime:" style="font-weight: bold;"/>
                <h:inputText value="#{korisnikIndex.ime}"/>

                <h:outputLabel value="Prezime:" style="font-weight: bold;"/>
                <h:inputText value="#{korisnikIndex.prezime}"/>

                <h:outputLabel value="E-mail adresa:" style="font-weight: bold;"/>
                <h:inputText value="#{korisnikIndex.email}"/>

                <h:outputLabel value="Korisničko ime:" style="font-weight: bold;"/>
                <h:inputText value="#{korisnikIndex.korime}"/>

                <h:outputLabel value="Lozinka:" style="font-weight: bold;"/>
                <h:inputSecret value="#{korisnikIndex.lozinka}"/>

                <h:outputLabel value="Ponovljena lozinka:" style="font-weight: bold;"/>
                <h:inputSecret value="#{korisnikIndex.ponovljenaLozinka}"/>
            </h:panelGrid>
            <br></br>
            <h:commandButton value="Registriraj se"
                             id="gumbRegistracija"
                             action="#{korisnikIndex.registracijaKorisnika()}"/>
            </h:form>
            <h:form style="display:#{korisnikIndex.uspjesnaPrijava}">



            Ažuriranje podataka       
            <h:panelGrid columns="2">
                <h:outputLabel value="Ime:" style="font-weight: bold;"/>
                <h:inputText value="#{placeholder}"/>

                <h:outputLabel value="Prezime:" style="font-weight: bold;"/>
                <h:inputText value="#{placeholder}"/>

                <h:outputLabel value="E-mail adresa:" style="font-weight: bold;"/>
                <h:inputText value="#{placeholder}"/>

                <h:outputLabel value="Korisničko ime:" style="font-weight: bold;"/>
                <h:inputText value="#{placeholder}"/>

                <h:outputLabel value="Lozinka:" style="font-weight: bold;"/>
                <h:inputSecret value="#{placeholder}"/>

                <h:outputLabel value="Ponovljena lozinka:" style="font-weight: bold;"/>
                <h:inputSecret value="#{placeholder}"/>
            </h:panelGrid>
            <br></br>
            <h:commandButton value="Ažuriraj"
                             id="gumbAzuriranje"
                             action="#{placeholder.sakrijElement()}"/>            



            Pregled korisnika  
            <p:dataTable id="lista" var="dohvaceniKorisnik" value="#{korisnikIndex.listaKorisnika}"
                         paginator="true" rows="4"
                         paginatorTemplate="{CurrentPageReport} {FirstPageLink}
                         {PreviousPageLink} {PageLinks} {NextPageLink}
                         {LastPageLink} {RowsPerPageDropdown}" style="width:800px;">
                <p:column headerText="Ime">
                    <h:outputText value="#{dohvaceniKorisnik.ime}"/>
                </p:column>

                <p:column headerText="Prezime">
                    <h:outputText value="#{dohvaceniKorisnik.prezime}"/>
                </p:column>

                <p:column headerText="Korisničko ime">
                    <h:outputText value="#{dohvaceniKorisnik.korime}"/>
                </p:column>               

                <p:column headerText="E-mail">
                    <h:outputText value="#{dohvaceniKorisnik.email}"/>
                </p:column>
            </p:dataTable>
        </h:form>
    </h:body>
</html>

ИВот управляемый bean-компонент JSF, который я использую для xhtml сверху (на данный момент я не вставил все, так как он слишком большой. Только верхняя часть кода. Обратите внимание на нотацию @EJB и вызывающий компонент Stateful Session Bean под ним. Как только я удаляюте, каждый работает отлично по некоторым причинам:

@Named(value = "korisnikIndex")

@ Открытый класс SessionScoped KorisnikIndex реализует Serializable {

@EJB
private Autentikacija autentikacija;

/**
 * Creates a new instance of KorisnikIndex
 */
private String ime;
private String prezime;
private String korime;
private String lozinka;
private String email;
private String poruka = "";

private String azuriranoIme;
private String azuriranoPrezime;
private String azuriranoKorime;
private String azuriranoLozinka;
private String azuriranoEmail;
private String azuriranoPonovljenaLozinka;

private String prijavljeniKorisnikKorime;
private String prijavljeniKorisnikLozinka;

private String uspjesnaPrijava = "none";

Я не думаю, что есть необходимость писать весь код из управляемого компонента, так какevertyhing прекрасно работает после удаления @EJB ... Но если нужно, плохо выложу все.

Вот вся ошибка:

/ index.xhtml @ 26,82 value = "# {korisnikIndex.prijavljeniKorisnikKorime} ": Цель недостижима, идентификатор 'korisnikIndex' преобразован в ноль

Спасибо за помощь.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...