JSF 2.0 Richfaces 4.0 Entegrasyonu

Bildiğiniz üzere JSF 1.2 den JSF 2.0'a geçtikten sonra bazı özellikler Java standardı haline geldi. Örnek verecek olursak artık renderer facelet kütüphanesi java standardı, kendi içersinde bir ajax kütüphanesi var. Bunlarla birlikte JSF Richfaces entegrasyonu değişti. Benim bu yazımda JSF 2.0 ve Richfaces 4.0 versiyonunu nasıl entegre ederiz sorusunu cevaplamaya çalışacağız.

Sözü çok uzattım konuya girelm öncelikle indereceğimiz jar listesin ekliyorum.

cssparser-0.9.5.jar
guava-r08.jar
jsf-api.jar
jsf-impl.jar
jsf-facelets-1.1.15.jar
jsflot-0.6.0.jar
jstl-1.2.jar
log4j-1.2.16.jar
oscache-2.1.jar
richfaces-components-api-4.0.0.Final.jar
richfaces-components-ui-4.0.0.Final.jar
richfaces-core-api-4.0.0.Final.jar
richfaces-core-impl-4.0.0.Final.jar
sac-1.3.jar
slf4j-api-1.5.8.jar
slf4j-log4j12-1.5.8.jar

Richfaces için bu kadar jar bulmaktansa primefacese geçerim diyenleri duyar gibiyim:) Ama benim gibi richfaces bagımlısıysanız bulunuyor.

Arkasından Web.xml dosyasında şu değişikleri yapıyoruz, doğrudan web.xml dosyasını koyacam arkadaşlar kusura bakmayın,

<?xml version="1.0" encoding="UTF-8"?>
<web-app id="lrs20" version="2.5" xmlns="http://java.sun.com/xml/ns/javaee"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
  <description>JSF</description>
  <display-name>JSF</display-name>
  <welcome-file-list>
  <welcome-file>index.html</welcome-file>
  <welcome-file>index.htm</welcome-file>
  </welcome-file-list>
  <context-param>
    <param-name>javax.faces.STATE_SAVING_METHOD</param-name>
    <param-value>server</param-value>
  </context-param>
  <context-param>
    <param-name>javax.faces.DEFAULT_SUFFIX</param-name>
    <param-value>.xhtml</param-value>
  </context-param>
  <context-param>
    <param-name>javax.faces.PROJECT_STAGE</param-name>
    <param-value>Development</param-value>
  </context-param>
  <context-param>
    <param-name>javax.faces.FACELETS_REFRESH_PERIOD</param-name>
    <param-value>1</param-value>
  </context-param>
  <context-param>
    <param-name>javax.faces.FACELETS_SKIP_COMMENTS</param-name>
    <param-value>true</param-value>
  </context-param>
  <context-param>
    <param-name>javax.faces.SEPARATOR_CHAR</param-name>
    <param-value>-</param-value>
  </context-param>
  <context-param>
    <param-name>org.richfaces.skin</param-name>
    <param-value>DEFAULT</param-value>
  </context-param>
  <context-param>
    <param-name>facelets.BUILD_BEFORE_RESTORE</param-name>
    <param-value>true</param-value>
  </context-param>
  <context-param>
    <param-name>facelets.RECREATE_VALUE_EXPRESSION_ON_BUILD_BEFORE_RESTORE</param-name>
    <param-value>true</param-value>
  </context-param>
  <servlet>
    <servlet-name>FacesServlet</servlet-name>
    <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
    <load-on-startup>0</load-on-startup>
  </servlet>
<!-- ... -->
  <servlet-mapping>
    <servlet-name>FacesServlet</servlet-name>
    <url-pattern>*.faces</url-pattern>
  </servlet-mapping>
  <servlet-mapping>
    <servlet-name>FacesServlet</servlet-name>
    <url-pattern>/faces/*</url-pattern>
  </servlet-mapping>
  <servlet-mapping>
    <servlet-name>FacesServlet</servlet-name>
    <url-pattern>*.jsf</url-pattern>
  </servlet-mapping>
  <servlet-mapping>
    <servlet-name>FacesServlet</servlet-name>
    <url-pattern>*.xhtml</url-pattern>
  </servlet-mapping>
  <session-config>
    <session-timeout>60</session-timeout>
  </session-config>
  <error-page>
    <exception-type>javax.faces.application.ViewExpiredException</exception-type>
    <location>/expired.xhtml</location>
  </error-page>
  <login-config>
    <auth-method>BASIC</auth-method>
  </login-config>
</web-app>

Kullanımına gelelim bir xhtml dosyası oluşturuyoruz:

<!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:a="http://richfaces.org/a4j"
	xmlns:rich="http://richfaces.org/rich"
	xmlns:f="http://java.sun.com/jsf/core"
	xmlns:ui="http://java.sun.com/jsf/facelets">

<h:head></h:head>
<body>
<h:form id="form">

    <rich:panel>

	    <h:inputText value="#{userBean.password}">
           <f:ajax event="keyup" />
	    </h:inputText>
          
        <h:inputText value="#{userBean.repassword}" >
           <f:ajax event="keyup" render="text2" />
	    </h:inputText>
		
	    <h:outputText value="Password match!"  rendered="#{userBean.match}" id="text2"/>

 </rich:panel>

</h:form>
</body>

</html>


İşte bu kadar, JSF 2.0 ilgili yazılara devam etmeyi düşünüyorum vakit buldukça, umarım birilerinin işine yaramıştır. 




Etiketler :




0.012943983078 | 3.5