# JSF Seite mit Dateien der Endung *.jsf



## klaus1 (17. Dez 2008)

Hallo,

Ich habe versucht mit JSF 1.1 ein einfaches Beispiel zu lösen. Da ich Abhängigkeiten bei den JSP Seiten in meiner Webanwendung habe, möchte ich meine JSF Seiten mit der Endung *.jsf Verwenden.

Meine Konfiguration sieht wie folgt aus:

Auszug aus meiner web.xml:

```
<context-param>
        <param-name>javax.faces.DEFAULT_SUFFIX</param-name>
        <param-value>.jsf</param-value>
</context-param>

	
	<servlet>
		<servlet-name>JavaServer Faces Servlet</servlet-name>
		<servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
		<load-on-startup>1</load-on-startup>
	</servlet>

	
	<servlet-mapping>
		<servlet-name>JavaServer Faces Servlet</servlet-name>
		<url-pattern>/faces/*</url-pattern>
	</servlet-mapping>
```

Meine faces-config.xml:

```
<faces-config>

 	<navigation-rule>
    	<from-view-id>/eingabe.jsf</from-view-id>
    	<navigation-case>
      		<from-outcome>success</from-outcome>
      		<to-view-id>/ausgabe.jsf</to-view-id>
    	</navigation-case>  
	</navigation-rule>

  	<managed-bean>
  		<managed-bean-name>Square</managed-bean-name>
		<managed-bean-class>com.edu.jsf.bean.SquareBean</managed-bean-class>
		<managed-bean-scope>session</managed-bean-scope>
	</managed-bean> 

</faces-config>
```

die JSP Seite (eingabe.jsf):

```
<%@ taglib uri="http://java.sun.com/jsf/html" prefix="h" %>
<%@ taglib uri="http://java.sun.com/jsf/core" prefix="f" %>
<html>
<head>
	<title>Berechnung eines Flächeninhaltes</title>
</head>

<body>
<f:view>
	<h3>JSF-Beispielanwendung zur Berechnung eines Flächeninhaltes:</h3>
    [i]Dieses Programm berechnet aufgrund der Eingabe einer 
    Seitenlänge den Flächeninhalt eines Quadrates.[/i]
    


    
    <h:form id="inputForm">

		Bitte geben Sie eine Seitenlänge ein:	
		<h:inputText value="#{Square.length}" /> 
		
		<h:commandButton value="Berechnen" action="success" /> 
	
	</h:form>

</f:view>
</body>
</html>
```

Das Problem das ich jetzt dabei habe:
Ich teile über die Einstellung DEFAULT_SUFFIX im Deployment Descriptor mit, dass ich *.jsf Dateien rendern möchte.
Ich kann das ganze auf meinem Websphere 6.0 Server deployen, und dann beim Aufruf der Seite im Browser hab ich das Problem, dass ich keine Eingabe oder Formular vorfinde.
Es wird 1:1 rausgeschrieben und nicht von der JSF Engine gerendert.

wenn ich jedoch meinen DEFAULT_SUFFIX weglasse und auf Endung *.jsp die Seiten benenne klappt alles. Ich bin allerdings in meiner Enterprise Anwendung gebunden, dass ich die Endung *.jsf verwende, da ich Abhängigkeiten in den JSP Seiten habe. 

hat jemand eine Idee? 

danke,
Klaus


----------



## gex (17. Dez 2008)

Wie sehen dein URLs aus?

http://host:port/appcontext/faces/xyz.jsf
bzw.
http://host:port/appcontext/faces/xyz.jsp

Auf den Punkt gebracht: Passt dein url-pattern des Servlet-Mappings, damit die Request auch über das Faces Servlet drehen?

Gruss


----------



## klaus1 (17. Dez 2008)

ja, hab http://host:port/appcontext/faces/eingabe.jsf laufen. oben natürlich in der faces-config.xml auch eingabe.jsf und nicht jsp. sorry.


----------



## Gast (17. Dez 2008)

mit der endung jsp klappt alles bestens


----------



## klaus1 (9. Jan 2009)

bin jetzt auf facelets mit myfaces 1.2 umgestiegen. mit den xhtml seiten klappt alles.


----------

