Was ist denn eine index.jsp seite ?

Der Beitrag ist uralt, heutzutage haben JSP und JSF eigentlich nichts mehr miteinander zu tun. Bevor es Facelets und XHTML gab war es üblich, JSF tags in JSP aufzurufen. Ein Relikt aus dieser Zeit ist es, in einem Projekt eine index.jsp zu haben, die vom Webserver als Startseite erkannt wird und einen redirect auf die eigentliche JSF Startseite durchführt
 
dann verhindere ich mit einem redirect das ich von einer login seite direkt mit einem geschützten bereich verlinkt werde ?

Ich hätte noch eine andere frage:

ich baue einen persönlichen Bereich auf in dem ich festlegen möchte welche rolle was sehen darf mit
rendered
Allerdings funktioniert mein hyperlink leider nicht: ich sehe nur persönlicher bereich, profil austeller, profil admin usw.

Wie kann das sein? was hab ich falsch gemacht an dem Hyperlink ?

HTML:
<head>

<title>PersoenlicherBereich </title>

</head>



<body>

<a href="Login.jsf">Login</a>


<h:form rendered="#{userController.userInRoleAussteller}">
<a href="persoenlicherBereichAussteller.xhtml">Profil Aussteller</a>
</h:form>

<h:form rendered="#{userController.userInRoleAdmin}">
<a href="persoenlicherBereichAdmin.xhtml">Profil Admin</a>
</h:form>

<h:form rendered="#{userController.userInRoleReferent}">
<a href="persoenlicherBereichReferent.xhtml">Profil Referent</a>
</h:form>
</body>
</html>
 
1) wieso verlinkst du mal auf .jsf und mal auf .xhtml ?
entweder <-> oder

2)
>>Allerdings funktioniert mein hyperlink leider nicht: ich sehe nur persönlicher bereich, profil austeller, profil admin usw.
mehr ist auch nicht in deinem facet an links zu sehen 🙂

3)
bei <a href.... links wird kein <h:form> benötigt

4)
wenn dein Mapping in der web.xml wie folgt lautet:
Java:
 <servlet-mapping>
  <servlet-name>Faces Servlet</servlet-name>
  <url-pattern>*.jsf</url-pattern>
 </servlet-mapping>
dann müssen deine Links auf .jsf enden.

arbeitest du mit einem "outcome" dann wie gehabt auf .xhtml

Example:
Java:
<h:form>
<h:commandButton value="hit me" action="page.xhtml"/>
</h:form>

grüße
 
Zuletzt bearbeitet:
Kleine Ergänzung noch:
den Link kannst du wie folgt mit rendered bauen:

Java:
<h:outputLink value="target.jsf">anchor text</h:outputLink>

wenn du mehrere Komponenten an die Rendered Bedingung einbeziehen möchtest und die "Liegen zusammen" :

Java:
<ui:fragment rendered="#{myBean,value eq 'visible' ? true : false}">
<a href="1.jsf">1</a><br/>
<a href="2.jsf">2</a><br/>
<a href="3.jsf">3</a>
</ui:fragment>
 

Zurück
Oben