2009-11-11 16 views
7

javax.faces.application.ViewExpiredException adresime girdiğimde kullanıcı giriş sayfasına göndermek istiyorum.com.sun.faces.enableRestoreView11Uyumluluk bunun yerine JSF 1.2'de ne kullanıyor?

web.xml

... 
    <context-param> 
     <param-name>com.sun.faces.enableRestoreView11Compatibility</param-name> 
     <param-value>true</param-value> 
    </context-param> 
... 
<error-page> 
    <exception-type>javax.faces.application.ViewExpiredException</exception-type> 
    <location>/errors/sessionExpired.jsf</location> 
</error-page> 

sessionExpired.jsf

.... 
<c:redirect url="/index.jsf" /> 

ancak enableRestoreView11Compatibility MTU 1.2 çözüm ne MTU 1.1 kullanılmıştır yöntemdir?

cevap

12

com.sun.faces.enableRestoreView11Compatibility, JSF 1.2'nin JSF 1.1 gibi davranmasını söyleyen bir JSF 1.2 ayardır.

com.sun.faces.enableRestoreView11Compatibility == true anlamına gelen "atmayın bir ViewExpiredException; eskisinin süresi dolmuşsa yerine, sadece yeni bir görünüm oluşturun."

MTU 1.1 davranışı üzerinde IBM notes

ki: yeni bir görünümdür ve bu tür devlet olarak görünümünde genellikle öğeleri, artık orada Bunun nedeni olumsuz davranışlara sahip olabilir

.

MTU 1.2 davranışının, bu şekilde the spec tanımlanan varsayılan: talep sağlamaksızın olan

, mevcut talep ve görünümü tanımlayıcı için FacesContext örneği geçen ve bir dönen ViewHandler.restoreView() çağrı Geri yüklenen görünüm için UIViewRoot. ViewHandler.restoreView() dönüşü boşsa, uygun bir hata iletisiyle ViewExpiredException atın. javax.faces.application.ViewExpiredException is a FacesException` için, uygulama görünümüne beklenen görünümün döndürülmediğini bildirmek için atılması gerekir. Bir uygulama, bu istisnaya dayanarak bazı eylemleri gerçekleştirmeyi seçebilir.

bir ViewExpiredException görünüm süresi dolduğunda, com.sun.faces.enableRestoreView11Compatibility parametreyi kaldırmak veya false olarak ayarlayın atılan sahip olmak.


com.sun ad büyük olasılıkla her JSF uygulamaları ile çalışmaz böylece parametre, Sun/Mojarra ve türetilmiş uygulama özgü ayar olduğunu göstermektedir.

+1

Kullanıcı oturum açma sayfasına yönlendirmek için ... kullanabileceğimi düşündüm, ancak bu uyumluluk parametresi olmadan bu çalışmaz. Bu yönlendirmeyi yapmak için PhaseListener'ımı yazmam gerekiyor, ya da belki de kolay bir yol var. – aindl

+0

Bu ayar hala JSF 2.2'de geçerli mi yoksa herhangi bir ither seçeneği var mı? –

İlgili konular