Forum Informatyka UJ forum Strona Główna Informatyka UJ forum
Rocznik 2005 - czyli najlepsze forum w sieci
 
 FAQFAQ   SzukajSzukaj   UżytkownicyUżytkownicy   GrupyGrupy   GalerieGalerie   RejestracjaRejestracja 
 ProfilProfil   Zaloguj się, by sprawdzić wiadomościZaloguj się, by sprawdzić wiadomości   ZalogujZaloguj 

j2ee -> jstl:choose

 
Napisz nowy temat   Odpowiedz do tematu    Forum Informatyka UJ forum Strona Główna -> Informatyka
Zobacz poprzedni temat :: Zobacz następny temat  
Autor Wiadomość
exeman
Mistrz grilla



Dołączył: 03 Lut 2006
Posty: 1601
Przeczytał: 0 tematów

Skąd: znienacka

PostWysłany: Pon 1:28, 14 Wrz 2009    Temat postu: j2ee -> jstl:choose

Mam następujący problem.
W jsf robię sobie switcha, zgodnie z manualem:

Kod:

                                  <c:choose>
                                       <c:when test="#{item.itemState==0}">
                                           Open
                                       </c:when>
                                       (...)
                                       <c:otherwise>
                                           Unknown (<h:outputText value="#{item.itemState}" />)
                                       </c:otherwise>
                                   </c:choose>


Ten kod wypisuje mi Unknown(0).
Probowalem z traktowaniem 0 jako string - nic nie pomaga.

Z gory dzieki za hint.
Jakim cudem, skoro powino wypisac sie "Open"?


Ostatnio zmieniony przez exeman dnia Pon 1:33, 14 Wrz 2009, w całości zmieniany 1 raz
Powrót do góry
Zobacz profil autora
Zobacz poprzedni temat :: Zobacz następny temat  
Autor Wiadomość
Gorfin
pijak



Dołączył: 06 Kwi 2006
Posty: 63
Przeczytał: 0 tematów


PostWysłany: Pon 8:08, 14 Wrz 2009    Temat postu:

Sprobuj uzyc $ zamiast # w jstl
Powrót do góry
Zobacz profil autora
Zobacz poprzedni temat :: Zobacz następny temat  
Autor Wiadomość
exeman
Mistrz grilla



Dołączył: 03 Lut 2006
Posty: 1601
Przeczytał: 0 tematów

Skąd: znienacka

PostWysłany: Pon 9:22, 14 Wrz 2009    Temat postu:

To samo, dalej nie działa.

Prostszy przykład:
Kod:

Start testu.
<c:if test="${item.itemState==0}">
   ITEMSTATE JEST ZEREM
</c:if>
<h:outputText value="${item.itemState==0}" />
Koniec testu.


Wynik działania programu to:
Start
true
Koniec testu.

Czyli c:if twierdzi, ze itemstate nie jest zerem, natomiast outputText
pokazuje, ze itemState zerem jest.

Nic z tego nie rozumiem.


Ostatnio zmieniony przez exeman dnia Pon 10:01, 14 Wrz 2009, w całości zmieniany 1 raz
Powrót do góry
Zobacz profil autora
Zobacz poprzedni temat :: Zobacz następny temat  
Autor Wiadomość
Spectro
Mistrz grilla



Dołączył: 09 Mar 2006
Posty: 2306
Przeczytał: 0 tematów

Skąd: Kurdwanów

PostWysłany: Pon 15:17, 14 Wrz 2009    Temat postu:

Exe, to głupie pytanie, ale czy masz publiczną metodę getItemState() zwracającą liczbę całkowitą?
Powrót do góry
Zobacz profil autora
Zobacz poprzedni temat :: Zobacz następny temat  
Autor Wiadomość
exeman
Mistrz grilla



Dołączył: 03 Lut 2006
Posty: 1601
Przeczytał: 0 tematów

Skąd: znienacka

PostWysłany: Pon 16:02, 14 Wrz 2009    Temat postu:

Tak, mam wszystkie potrzebne metody accessorowe.

Wygląda na to, że problemem było łączenie jstl z jsf, co podobno nie ma prawa działać.

[link widoczny dla zalogowanych]

Jeszcze tego nie sprawdzałem, ale mam nadzieję, że w tym tkwił problem.
Powrót do góry
Zobacz profil autora
Zobacz poprzedni temat :: Zobacz następny temat  
Autor Wiadomość
Gorfin
pijak



Dołączył: 06 Kwi 2006
Posty: 63
Przeczytał: 0 tematów


PostWysłany: Pon 18:54, 14 Wrz 2009    Temat postu:

Nie wiem jaka masz konfiguracje, ale u mnie to wyglada tak:

widok:
Kod:

<!DOCTYPE composition 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:f="http://java.sun.com/jsf/core"
   xmlns:ui="http://java.sun.com/jsf/facelets"
   xmlns:c="http://java.sun.com/jstl/core">

<ui:composition>
      Start testu.
   <c:if test="${item.itemState==0}">
         ITEMSTATE JEST ZEREM
   </c:if>
   <h:outputText value="${item.itemState==0}" />
      Koniec testu.
    </ui:composition>
</html>


bean:
Kod:

public class Item {
   private int itemState = 0;

   public int getItemState() {
      return itemState;
   }

   public void setItemState(int itemState) {
      this.itemState = itemState;
   }
}


a na stronie:
Kod:

Start testu. ITEMSTATE JEST ZEREMtrue Koniec testu.
Powrót do góry
Zobacz profil autora
Wyświetl posty z ostatnich:   
Napisz nowy temat   Odpowiedz do tematu    Forum Informatyka UJ forum Strona Główna -> Informatyka Wszystkie czasy w strefie EET (Europa)
Strona 1 z 1

 
Skocz do:  
Nie możesz pisać nowych tematów
Nie możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz głosować w ankietach

fora.pl - załóż własne forum dyskusyjne za darmo
Powered by phpBB © 2001, 2005 phpBB Group
Regulamin