Widoki w JEE nie chcą się przekierować

0

Witajcie.
Mam problem z małym projektem, jestem studentem specjalizacji z sieci i niekoniecznie radzę sobie z dodatkowym przedmiotem aplikacji webowych ;p
Z powodzeniem udało mi się projekt zrobić, ale chciałem dodać troszkę modyfikacji i nie chcą współpracować.
Dla zobrazowania sytuacji: Jest to biblioteka, chciałem dodac zakładkę w panelu admina z wszystkimi czytelnikami w bazie .
Stworzyłem widok tak jak wszystkie inne, w szablonie dodałem zakładkę i tu się pojawia problem. Odnośnik kieruje od razu na widok listy czytelników, ale gdy klikam na zakładke Czytelnicy przenosi mnie na stronę logowania..
Jest to JSF, z bazą w xampie. Ogólnie sama lista pojawia sie jak dodam ją na istniejącą stronę główną. Nie rozumiem tylko czemu ten widok sie nie włącza... jest zrobiony tak samo jak inne.
Dodam, że programując przycisk edycji uzytkowników również nie przenosi mnie na stronę edycji więc to też chciałbym skonsultować. Poniżej kody

Tu kolejno szablon z odsylaczem,

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE html>
<html
	xmlns="http://www.w3.org/1999/xhtml"
	xmlns:ui="http://java.sun.com/jsf/facelets"
	xmlns:f="http://java.sun.com/jsf/core"
	xmlns:h="http://java.sun.com/jsf/html"
	xmlns:p="http://primefaces.org/ui"
>
	<h:head>
		<title>Biblioteka</title>
		<meta name="viewport" content="width=device-width, initial-scale=1" />
		<h:outputStylesheet library="css" name="pure-min.css"></h:outputStylesheet>
		<h:outputStylesheet library="css" name="style.css"></h:outputStylesheet>
	</h:head>
	<h:body>
		<div class="pure-menu pure-menu-horizontal">
			<p:link outcome="index" value="Biblioteka" styleClass="pure-menu-heading pure-menu-link" />
		    <ul class="pure-menu-list">
	    		<h:panelGroup rendered="#{not empty zalogowanyBB.id}">
		    		<li class="pure-menu-item">
		    			<p:link outcome="moje_wypozyczenia" value="Moje wypożyczenia" styleClass="pure-menu-link" />
		    		</li>			    		
		    		<h:panelGroup rendered="#{zalogowanyBB.jestBibliotekarzem()}">
			    		<li class="pure-menu-item">
			    			<p:link outcome="nowa_ksiazka" value="Dodaj nową ksiażkę" styleClass="pure-menu-link" />
			    		</li>
			    		<li class="pure-menu-item">
			    			<p:link outcome="wypozyczenia" value="Wypożyczenia" styleClass="pure-menu-link" />
			    		</li>
			    		<li class="pure-menu-item">
			    			<p:link outcome="czytelnicy" value="Czytelnicy" styleClass="pure-menu-link" />
			    		</li>
		    		</h:panelGroup>
					<li class="pure-menu-item">
				        <h:form>
		      				<h:commandLink action="#{loginBB.wyloguj()}" value="Wyloguj się" styleClass="pure-menu-link" />
		      			</h:form> 
			        </li>
				</h:panelGroup>
		    </ul>
		</div>
		<ui:insert name="tresc" />
	</h:body>
</html>

widok Czytelników,

<ui:composition
	xmlns="http://www.w3.org/1999/xhtml"
	xmlns:ui="http://java.sun.com/jsf/facelets"
	xmlns:f="http://java.sun.com/jsf/core"
	xmlns:h="http://java.sun.com/jsf/html"
	xmlns:p="http://primefaces.org/ui"
	template="szablon.xhtml"
>
	<ui:define name="tresc">
		<h3>Czytelnicy</h3>
		
	<h:form>
			<p:inputText value="#{wyszukiwarkaUzytkownikowBB.szuka}" />
			<p:commandButton action="#{wyszukiwarkaUzytkownikowBB.szuka()}" value="Szukaj" style="margin-left: 10px;" />
		</h:form>
		
		<p:dataTable var="uzytkownik" value="#{listaUzytkownikowBB.uzytkownicy}" paginator="true" rows="3" emptyMessage="Brak czytelnikow." style="margin-top: 20px;">
			<p:column headerText="imie">
				<h:outputText value="#{uzytkownik.imie}" />
			</p:column>
			<p:column headerText="nazwisko">
				<h:outputText value="#{uzytkownik.nazwisko}" />
			</p:column>
			<p:column headerText="e-mail">
				<h:outputText value="#{uzytkownik.email}" />
			</p:column>
			<p:column headerText="rola">
				<h:outputText value="#{uzytkownik.rola}" />
			</p:column>
			<p:column>					
				<h:form style="margin-bottom: 10px;">
					<p:commandButton value="Edytuj" action="#{listaUzytkownikowBB.edytuj(uzytkownik)}" />
				</h:form>
			</p:column>
		</p:dataTable>
	</ui:define>
</ui:composition>

widok edycji,

<ui:composition
	xmlns="http://www.w3.org/1999/xhtml"
	xmlns:ui="http://java.sun.com/jsf/facelets"
	xmlns:f="http://java.sun.com/jsf/core"
	xmlns:h="http://java.sun.com/jsf/html"
	xmlns:p="http://primefaces.org/ui"
	template="szablon.xhtml"
>
	<ui:define name="tresc">
		<h3>Edycja czytelnika</h3>

		<h:form styleClass="pure-form pure-form-stacked">
			<h:outputLabel value="imie:" />
			<h:inputText value="#{edycjaUzytkownika.uzytkownik.imie}" required="true" requiredMessage="Podaj imie!" />
	        
	        <h:outputLabel value="nazwisko:" />
			<h:inputText value="#{edycjaUzytkownika.uzytkownik.nazwisko}" required="true" requiredMessage="Podaj nazwisko!" />
			
			<h:outputLabel value="e-mail:" />
			<h:inputTextarea value="#{eedycjaUzytkownika.uzytkownik.email}" required="true" requiredMessage="Podaj e-mail!" />
		
	        <h:outputLabel value="rola:" />
			<h:inputText value="#{edycjaUzytkownika.uzytkownik.rola}" required="true" requiredMessage="Podaj role!" />
	        
	        <p:commandButton value="Zakualizuj czytelnika" action="#{edycjaUzytkownika.zaktualizuj()}" update="messages" styleClass="pure-button" style="margin-top: 10px;" />
		</h:form>
	</ui:define>
</ui:composition>

edycja uzytkownika BB

package com.biblioteka.bb;

import javax.inject.Named;
import javax.servlet.http.HttpSession;
import com.biblioteka.dao.UzytkownikDAO;
import com.biblioteka.encje.Uzytkownik;
import java.io.IOException;
import java.io.Serializable;
import javax.annotation.PostConstruct;
import javax.ejb.EJB;
import javax.faces.application.FacesMessage;
import javax.faces.context.FacesContext;
import javax.faces.view.ViewScoped;

@Named
@ViewScoped
public class EdycjaUzytkownika implements Serializable {
	private static final long serialVersionUID = 1L;
	
	private static final String STRONA_GLOWNA = "/index?faces-redirect=true";
	private static final String POZOSTAN_NA_TEJ_SAMEJ_STRONIE = null;

	private Uzytkownik uzytkownik = null;
	
	@EJB
	UzytkownikDAO uzytkownikDAO;
	
	@PostConstruct
	public void wczytaj() throws IOException {
		FacesContext context = FacesContext.getCurrentInstance();
		HttpSession session = (HttpSession) context.getExternalContext().getSession(true);

		uzytkownik = (Uzytkownik) session.getAttribute("uzytkownik");
		session.removeAttribute("uzytkownik");

		if (uzytkownik == null) {
			if (!context.isPostback()) { 
				context.getExternalContext().redirect("index.xhtml");
				context.responseComplete();
			}
		}
	}
	
	public String zaktualizuj() {
		try {
			uzytkownikDAO.merge(uzytkownik);
		} catch (Exception exception) {
			FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(FacesMessage.SEVERITY_ERROR, "Wystapil blad. Sprobuj ponownie.", null));
			
			return POZOSTAN_NA_TEJ_SAMEJ_STRONIE;
		}

		return STRONA_GLOWNA;
	}

	public Uzytkownik getUzytkownik() {
		return uzytkownik;
	}

	public void setUzytkownik(Uzytkownik uzytkownik) {
		this.uzytkownik = uzytkownik;
	}
}

oraz BB wyswietlania listy gdzie jest odsylacz na ten widok

package com.biblioteka.bb;

import java.util.List;
import javax.annotation.PostConstruct;
import javax.ejb.EJB;
import javax.enterprise.context.RequestScoped;
import javax.faces.context.FacesContext;
import javax.inject.Inject;
import javax.inject.Named;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;
import com.biblioteka.dao.UzytkownikDAO;
import com.biblioteka.encje.Uzytkownik;

@Named
@RequestScoped
public class ListaUzytkownikowBB {
	
	private static final String EDYTUJU = "/edycjauzytkownika?faces-redirect=true";
	
	private List<Uzytkownik> uzytkownicy;
	
	@EJB
	UzytkownikDAO uzytkownikDAO;
	
   @Inject
   WyszukiwarkaUzytkownikowBB wyszukiwarkaUzytkownikowBB;
	
	@Inject
	ZalogowanyBB zalogowanyBB;
	
	@PostConstruct
	public void wczytaj() {
	HttpServletRequest request = (HttpServletRequest) FacesContext.getCurrentInstance().getExternalContext().getRequest();
		
	String szuka = request.getParameter("szuka");
		
		
	if (szuka == null) {
		uzytkownicy = uzytkownikDAO.pobierzUzytkownikow1();
	} else {
		uzytkownicy = uzytkownikDAO.pobierzUzytkownikowSzukanych(szuka);

		wyszukiwarkaUzytkownikowBB.setSzuka(null);
	}
	
	
		
	}
	
	public String edytuj(Uzytkownik uzytkownik) {
		HttpSession session = (HttpSession) FacesContext.getCurrentInstance().getExternalContext().getSession(true);
		session.setAttribute("uzytkownik", uzytkownik);
		
		return EDYTUJU;
	}

	public List<Uzytkownik> getUzytkownicy() {
		return uzytkownicy;
	}

	public void setUzytkownicy(List<Uzytkownik> uzytkownicy) {
		this.uzytkownicy = uzytkownicy;
	}
}

pomoc potrzebna na wczoraj :(

0

Przejrzyj może konfiguracje, plik web.xml.

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