Dokopałem się do znacznika corejsf. Wydaje mi się, że on służy do czegoś takiego właśnie.
1. Utworzyłem bibliotekę do tego znacznika
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE facelet-taglib PUBLIC
"-//Sun Microsystems. Inc.//DTD Facelet Taglib 1.0//EN"
"http://java.sun.com/dtd/facelet-taglib_1_0.dtd">
<facelet-taglib>
<namespace>http://corejsf.com/facelets</namespace>
<tag>
<tag-name>side</tag-name>
<source>tags/corejsf/side.xhtml</source>
</tag>
</facelet-taglib>
2. Oraz jego implementację - znajduje sie w miejscu podanym w tagach source
<!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://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:ui="http://java.sun.com/jsf/facelets">
<h:head>
<title>IGNORED</title>
</h:head>
<h:body>
<ui:composition>
<div class='#{name == contentControler.currentPage ?
"SideSelected" : "Side" }'>
<h:commandLink action="#{contentControler.changeCurrentPage(name)}">
<p>#{linkValue}</p>
</h:commandLink>
<ui:insert name="content1" />
</div>
</ui:composition>
</h:body>
</html>
3. Stworzylem tez klase zawierajaca metody aktualna strona i zmien aktualna strone
package pl.easyshop;
import java.io.Serializable;
import javax.enterprise.context.RequestScoped;
import javax.inject.Named;
@RequestScoped
@Named("contentControler")
public class ContentControlerBean implements Serializable {
private String currentPage;
public String getCurrentPage() {
return currentPage;
}
public String changeCurrentPage(String nevValue) {
this.currentPage = nevValue;
return currentPage;
}
}
4. Wiem tez, jak ustawic te znaczniki w pliku robiącym za lewe menu
<h:form>
<corejsf:side name="#{default}" linkValue="Strona glowna"/>
<corejsf:side name="#{succes}" linkValue="Jakas inna strona"/>
</h:form>
5. Problem zaczyna sie w tym miejscu
Nie mam pojecia co dalej. Jak okreslic, zeby po kliknieciu w ten link któryś, w contencie zdefiniowanym w pliku index.xhtml pojawiala sie tresc odpowiedniej strony. Nie potrafie do tego dotrzeć.
Czy ktoś mógłby mi to wytłumaczyć?