JSF Umfangreiche Seite strukturieren

miketech

Bekanntes Mitglied
Hallo zusammen,

ich habe folgendes Problem: Ich möchte eine Webanwendung schreiben, die im Prinzip nur über eine Seite verfügt. Die Interaktion mit dem Anwender erfolgt vor allem über viele Dialoge, die bei bestimmten Aktionen angezeigt werden. D.h. es ist ähnlich, wie man es von Desktop-Anwendungen her kennt.

Nun ist meine Frage: Wie würdet ihr diese Anwendung nun strukturieren? Aufgrund der vielen Dialoge wird meine eine Seite natürlich enorm groß, also vom Quellcode her. Ich habe viele Dialoge etc. Würdet ihr nun pro Dialog eine eigene JSF-Seite erstellen und die per Import einbinden? Wie kann ich dann verhindern, dass man diese JSF-Seite einzeln aufrufen kann? In der web.xml unterbinden?

Würde mich interessieren, wie ihr hier vorgehen würdet.

Viele Grüße

Mike
 

mjustin

Aktives Mitglied
Aufgrund der vielen Dialoge wird meine eine Seite natürlich enorm groß, also vom Quellcode her. Ich habe viele Dialoge etc. Würdet ihr nun pro Dialog eine eigene JSF-Seite erstellen und die per Import einbinden?

Ab JSF 2.0 kann man eine großen Seite leicht zerlegen in viele kleine Module (Facelets), die dann per Panelgroups mit einer rendered=<bedingung> wahlweise aktiviert werden. Facelets können weitere Unter-Facelets enthalten.

Es werden nach jedem POST dann nur die Facelets sichtbar, deren rendered Bedingung erfüllt ist.

Beispiel
[XML]
<h:panelGroup rendered="#{bedingung}">
<ui:include src="facelets/facelet1.xhtml" />
</h:panelGroup>[/XML]
 

miketech

Bekanntes Mitglied
Hallo mjustin,

interessant, danke. Wie kann ich denn verhindern, dass facelet1.xhtml ansonsten nicht aufgerufen werden kann? Über die web.xml den Zugriff auf den facelets-Ordner verhindern? Oder droht dann die Gefahr, dass man sie auch nicht einbinden kann?

Viele Grüße

Mike
 

Fant

Bekanntes Mitglied
Pack die Dateien, von denen du willst, dass man sie nicht einfach so aufrufen kann, einfach ins /WEB-INF-Verzeichnis.

Gruß Fant
 

mjustin

Aktives Mitglied
Hallo mjustin,

interessant, danke. Wie kann ich denn verhindern, dass facelet1.xhtml ansonsten nicht aufgerufen werden kann? Über die web.xml den Zugriff auf den facelets-Ordner verhindern? Oder droht dann die Gefahr, dass man sie auch nicht einbinden kann?

Unter Old Nabble - java.net - facelets users - how to prevent direct access to jsf pages? wird (neben der Speicherung in WEB-INF) dieser Weg über JEE Security vorgeschlagen:
[XML]
<security-constraint>
<display-name>Restrict XHTML Documents</display-name>
<web-resource-collection>
<web-resource-name>XHTML</web-resource-name>
<url-pattern>*.xhtml</url-pattern>
</web-resource-collection>
<auth-constraint>
<description>Only let 'developer's access XHTML pages</description>
<role-name>developer</role-name>
</auth-constraint>
</security-constraint> [/XML]

Einen Favoriten habe ich nicht, habe aber auch noch keine der beiden Möglichkeiten im Einsatz gehabt.

Viele Grüße
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
S Seite nur aufrufbar machen für eingeloggte User Web Tier 1
J dynamische jsf-seite programmatisch erstellen Web Tier 1
M Seite per Push neuladen Web Tier 2
P JSF Ajax aktualisiert Seite neu Web Tier 2
F JSF selectManyCheckbox Checkbox auf der rechten Seite Web Tier 3
M GWT - Externe Java Libs auf Server Seite - zB. JDBC Web Tier 6
A Aufruf eines Servlets auf einer JSP Seite funktioniert nicht Web Tier 10
J Was ist denn eine index.jsp seite ? Web Tier 5
T JSF Primefaces: DataTable Ajax Update - Weiterleitung von anderer Seite Web Tier 11
Q JSF bei Session-Timeout Weiterleitung auf spezielle Login-Seite Web Tier 15
xehpuk JSF 404 statt 500 bei nicht existenter JSF-Seite Web Tier 7
dataframe Persistenz aus JSF-Seite ansteuern Web Tier 12
K Servlet + JSP: JSP-Seite ein Array/ArrayList überliefern vom Controller-Servlet Web Tier 8
L einfache JSF-Seite wird nicht angezeigt Web Tier 8
R JSF Mit Ajax ganze Seite neu laden Web Tier 2
X Seite wird mit AJAX neu geladen Web Tier 4
R Zugriff auf Session direkt auf JSF-Seite Web Tier 2
B statische Html Seite als response erhalten (Servlet) Web Tier 3
D Auf andere Seite mit GWT Web Tier 2
S HTML Seite als PDF Web Tier 6
J JSP-Seite kann nicht aufgerufen werden Web Tier 14
K Analye einer Seite (Java, JSP, ...) Web Tier 12
I Setten auf der JSF - Seite Web Tier 2
M Ton wiedergabe über jsp-Seite Web Tier 2
G Code in JSF-Seite Web Tier 7
J Hilfe: seite includieren mit IceFaces Web Tier 2
T Template für die ganze Seite Web Tier 6
I JSF Nur max 20 Datensätze anzeigen lassen, dann nächste Seite Web Tier 8
P request.getParameter("name") von Formular auf JSP-Seite leer Web Tier 5
aokai ExterneJS-JSP Seite einbinden Web Tier 2
C navigation auf einer jsp Seite Web Tier 3
F sendError geht nicht richtig, seite leer Web Tier 6
K JSF Seite mit Dateien der Endung *.jsf Web Tier 4
D PreparedStatement: Seite zeigt nichts an Web Tier 7
T Wie feststellen, ob ein Benutzer noch auf meiner Seite ist Web Tier 14
K [gelöst] JSF-Seite wird nicht angezeigt Web Tier 3
H JSF Seite wird plain angezeigt Web Tier 3
P JSP Seite verlassen Web Tier 2
M Authentifizierung über PhaseListener je nach Seite Web Tier 11
M Servlet Submit ergebniss in seite einbauen Web Tier 2
F Beim Aufruf von einer JSF Seite eine Methode ausführen Web Tier 9

Ähnliche Java Themen

Neue Themen


Oben