2017-05-19 2 views
1

Warum funktioniert der JSF-TagJSF h: Link wird Spanne

<h:link outcome="hello/sayhi">Spring MVC</h:link> 
<h:outputLink value="hello/sayhi" >Spring MVC</h:outputLink> 

<span>Spring MVC</span> 
<a href="hello/sayhi">Spring MVC</a> 

im Browser wird, so dass die <span> völlig nutzlos ist?

Wie kann ich h: link arbeiten, so dass es die richtige Verbindung einschließlich des Kontextpfads ausgibt?

Antwort

1

Die Komponente h:link erfordert ein gültiges (und existierendes) Ergebnisziel, wenn der Server aus irgendeinem Grund das Ergebnisziel in Ihrem Projekt nicht findet, dann wird eine Spanne gerendert.

Überprüfen Sie in diesem Fall Ihre Anwendungsdateien, und überprüfen Sie, ob das Ziel "hallo/sayhi" wirklich existiert und korrekt deklariert ist. Vielleicht vergisst du einfach eine Bar ("/ hallo/sayhi") vor dem Weg (es ist unmöglich für uns zu wissen).

Entsprechend seiner Dokumentation sollte eine h:link nur als eine Spanne rendern, wenn Sie es als deaktiviert = True festlegen. So bin ich 100% sicher, dass Ihr Problem wirklich ein falscher Navigationspfad ist.

+0

/hallo/sayhi wird von einem Controller verwaltet und ich kann/hallo/sayhi im Browser aufrufen, um das gerenderte XHTML von /pages/hello.xhtml und die vom Controller bereitgestellten Daten anzuzeigen. – Pali

+1

Sagst du das/hallo/sayhi ist ein Servlet? Wenn ja, dann wird 'h: link' nicht funktionieren. 'h: link' muss auf eine gültige .xhtml-Datei ausgerichtet sein. – Bonifacio

+0

okay, danke für die Klarstellung, hast du einen Vorschlag wie ich den Link zu/hallo/sayhi bekommen kann, der Kontext enthält! und Pfad? – Pali

Verwandte Themen