2013-12-11 27 views
9
Uygulamam

UYARI JSF1090: Navigasyon durumda

JSF1090 Bu uyarıyı alıyorum

j_idt51 bileşeni için çözülmezse: Navigasyon vaka bileşeni için çözülmezse j_idt51

bu uyarı sebebi nedir ve bunu nasıl çözebilirim? Garip olan şey, j_idt51 bileşen kimliğinin oluşturulmuş sayfada olmamasıdır. Oluşturulan sayfanın HTML'sine bakarsanız, j_idt51 numaralı bir öğe yoktur. Eğer değil geçerli bir görünüm kimliğinizi temsil yok <h:link> veya <h:button> ait outcome özelliğinde, bir (örtük) navigasyon sonucunu her kullandığınızda

cevap

12

Bu uyarı oluşacaktır.

E.g.

<h:link ... outcome="viewIdWhichDoesNotExist" /> 
<h:button ... outcome="viewIdWhichDoesNotExist" /> 

Ayrıca, <h:link> bir <span> elemanı yerine bir <a> elemanını hale getirecek.

Çözüm aşikar: geçerli bir görünüm kimliği kullanın veya en az ConfigurableNavigationHandler#getNavigationCase() tarafından istenen görünümün çözülebildiğinden emin olun.

<h:link value="Go to Google" outcome="http://google.com" /> 

Bu kötüye sonra da tam olarak bu uyarıyı doğuracak: Bazı başlayanlar bilinmeyen bir nedenden <h:link> sonucu değeri olarak http://google.com gibi hatta tam URL için kullandıkları

Not. Bunun yerine <h:outputLink> veya sadece <a> kullanıyor olmalısınız.

JSF bileşeni ile aynı kimliğe sahip bir HTML öğesinin yokluğuyla ilgili olarak, bu, JSF bileşeninin id özniteliğini açıkça belirtmediğinizde ortaya çıkabilir. JSF bileşen kimliği, daha sonra oluşturulan HTML çıktısında mutlaka bitmez. Bu bileşenlere sabit bir kimlik atamak, sebebi ortadan kaldırmak için daha iyi yardımcı olacaktır.

+0

Excelent es allways ... Kodumda geçersiz olan bir h: link vardı. – simonC

+0

Yup, benim "" sonuç "özniteliği, dosya sisteminde bulunmayan bir dosyaya işaret edildi. Dosyayı buraya koyduğumda, bağlantım işe yaradı ve hata gitti. @BalusC – fusion27