Thread View: pl.comp.lang.java
19 messages
19 total messages
Started by MaxZorin
Mon, 18 Apr 2011 08:43
JSP przestało raptem działać
Author: MaxZorin
Date: Mon, 18 Apr 2011 08:43
Date: Mon, 18 Apr 2011 08:43
52 lines
2543 bytes
2543 bytes
Ludzie pomóżcie proszę.
Piszę aplikację JSP itp. Problem jest
obliczeniowy, więc na jednej stronie mam dane, a
druga zawiera wyniki obliczeń. I raptem przestało
mi to przeliczać! Sprawdziłem już wszystkie
składnie, miejsca itd. Wszystko wydaje się
poprawnie zrobione, a tu nic. Śledzę taką zmienną:
Data.jsp
<h:inputText id="id" value="#{geo.id}"
size="7" required="true">
<f:validateDoubleRange
minimum="0.01" maximum="5000.0"/>
<f:convertNumber
maxFractionDigits="2"/>
</h:inputText>
Result.jsp (tylko w celu sprawdzenia co właściwie
zawiera zmienna, normalnie id to dana do obliczeń)
<h:outputText value="#{geo.id}"></h:outputText>
GeoBean.java
private double id = 500; // inner diameter
public double getId() {
return id;
}
public void setId(double id) {
this.id = id;
}
faces-cinfig.xml
<navigation-rule>
<from-view-id>/Data.jsp</from-view-id>
<navigation-case>
<from-outcome>makeCalc</from-outcome>
<to-view-id>/Result.jsp</to-view-id>
</navigation-case>
</navigation-rule>
[..]
<managed-bean>
<managed-bean-name>geo</managed-bean-name>
<managed-bean-class>calcpackage.geoBean</managed-bean-class>
<managed-bean-scope>session</managed-bean-scope>
</managed-bean>
Niezależnie od tego jaką wartość id wprowadzę,
wynik zawsze jest 500. O co chodzi? Gdzie szukać
błędu?
Re: JSP przestało raptem działać
Author: Tomek Łabuz
Date: Mon, 18 Apr 2011 10:18
Date: Mon, 18 Apr 2011 10:18
12 lines
1584 bytes
1584 bytes
W dniu 2011-04-18 10:43, MaxZorin pisze: > Ludzie pomóżcie proszę. > Piszę aplikację JSP itp. Problem jest > obliczeniowy, więc na jednej stronie mam dane, a > druga zawiera wyniki obliczeń. I raptem przestało > mi to przeliczać! Sprawdziłem już wszystkie składnie, miejsca itd. > Wszystko wydaje się poprawnie zrobione, a tu nic. Śledzę taką zmienną: jak to pewnie zwykle zmieniłeś więcej niż zamierzałeś, może Twoje IDE pozwala na sprawdzenie historii zmian? Eclipse czy Idea coś takiego pozwalają, nie wiem jak Netbeans odszukaj wtedy wersję z dnia kiedy jeszcze wszystko pracowało i porównaj
Re: JSP przestało raptem działać
Author: MaxZorin
Date: Mon, 18 Apr 2011 11:03
Date: Mon, 18 Apr 2011 11:03
27 lines
2327 bytes
2327 bytes
W dniu 2011-04-18 12:18, Tomek Łabuz pisze:
> W dniu 2011-04-18 10:43, MaxZorin pisze:
>
> jak to pewnie zwykle zmieniłeś więcej niż zamierzałeś, może Twoje IDE
> pozwala na sprawdzenie historii zmian? Eclipse czy Idea coś takiego
> pozwalają, nie wiem jak Netbeans
> odszukaj wtedy wersję z dnia kiedy jeszcze wszystko pracowało i porównaj
>
Niestety mam (NetBeans) wersje tylko z już nie
działającym przeliczaniem. Ponieważ wszystko
hulało bez zarzutu od dłuższego czasu robiłem inne
rzeczy w projekcie i nie zwracałem uwagi na
liczenie - bo było dobrze.
To wygląda tak, jakby klasa licząca kompletnie
ignorowała to co przychodzi do settera i
interesowała się jedynie tym co ma ustawione na
dzień dobry w polu. Dam 500 jest 500, dam 1 jest 1
itd.
wyrażenia typu <h:inputText value="#{geo.id}"/>
nie są przesyłane do metody setId.
Zresztą, co dla mnie dziwne, jak kliknę z Ctrl'em
na id w powyższym wyrażeniu to mnie przenosi do
getId a nie do setId. Jakby chciał pobrać wartość,
a nie ją ustawić. Ale może to taka uroda NetBeansa
Zresztą powinien, wg mnie, przenieść do (property,
sorry za delphizm) id.
Dziękuję za odpowiedź lecz nadal jestem w desperacji.
Re: JSP przestało raptem działać
Author: Tomek Łabuz
Date: Mon, 18 Apr 2011 11:43
Date: Mon, 18 Apr 2011 11:43
24 lines
2438 bytes
2438 bytes
> Niestety mam (NetBeans) wersje tylko z już nie działającym
> przeliczaniem. Ponieważ wszystko hulało bez zarzutu od dłuższego czasu
> robiłem inne rzeczy w projekcie i nie zwracałem uwagi na liczenie - bo
> było dobrze.
> To wygląda tak, jakby klasa licząca kompletnie ignorowała to co
> przychodzi do settera i interesowała się jedynie tym co ma ustawione na
> dzień dobry w polu. Dam 500 jest 500, dam 1 jest 1 itd.
> wyrażenia typu <h:inputText value="#{geo.id}"/>
> nie są przesyłane do metody setId.
> Zresztą, co dla mnie dziwne, jak kliknę z Ctrl'em na id w powyższym
> wyrażeniu to mnie przenosi do getId a nie do setId. Jakby chciał pobrać
> wartość, a nie ją ustawić. Ale może to taka uroda NetBeansa Zresztą
> powinien, wg mnie, przenieść do (property, sorry za delphizm) id.
to co tam w tych ciapkach ustawiasz to de facto odwołanie do settera czy
gettera (lub obu na raz - inputtext zarówno pobiera jak i ustawia dane),
pole to generalnie może być a może go też w sumie fizycznie nie być, ale
to nie temat na tą dyskusję)
proponowałbym dodać na formularzu pole <h:message for="id"/>
i zobaczyć czy przypadkiem nie masz błędu konwersji lub walidacji (nie
podałeś całego formularza, więc nie wiem czy masz tam coś do
wyświetlania takich problemów)
Re: JSP przestało raptem działać
Author: MaxZorin
Date: Mon, 18 Apr 2011 12:36
Date: Mon, 18 Apr 2011 12:36
30 lines
2161 bytes
2161 bytes
W dniu 2011-04-18 13:43, Tomek Łabuz pisze:
>
> proponowałbym dodać na formularzu pole<h:message for="id"/>
> i zobaczyć czy przypadkiem nie masz błędu konwersji lub walidacji (nie
> podałeś całego formularza, więc nie wiem czy masz tam coś do
> wyświetlania takich problemów)
Nie mam żadnego błędu :(. A właściwie to w obrębie
formularza działa to jak należy. Id oznacza
średnicę, więc jak dam np. -100 to mam komunikat,
że jest to wartość błędna. Nadal jednak wartość z
formularza nijak ma się do wartości w klasie liczącej.
Na formularzu danych dodałem
<h:outputText value="#{geo.id}"/>
I POKAZUJE NIE PRZELICZONE WARTOŚCI!
Tymczasem walidator uwzględnia zmianę w
<h:inputText value="#{geo.id}"/>
całość wygląda tak:
<h:inputText
id="id"
value="#{geo.id}"
size="7"
required="true">
<f:validateDoubleRange minimum="0.01"
maximum="5000.0"/>
<f:convertNumber maxFractionDigits="2"/>
</h:inputText>
<h:message for="id"/>
Re: JSP przestało raptem działać
Author: Tomek Łabuz
Date: Mon, 18 Apr 2011 12:41
Date: Mon, 18 Apr 2011 12:41
21 lines
2187 bytes
2187 bytes
W dniu 2011-04-18 14:36, MaxZorin pisze: > W dniu 2011-04-18 13:43, Tomek Łabuz pisze: >> >> proponowałbym dodać na formularzu pole<h:message for="id"/> >> i zobaczyć czy przypadkiem nie masz błędu konwersji lub walidacji (nie >> podałeś całego formularza, więc nie wiem czy masz tam coś do >> wyświetlania takich problemów) > > Nie mam żadnego błędu :(. A właściwie to w obrębie formularza działa to > jak należy. Id oznacza średnicę, więc jak dam np. -100 to mam komunikat, > że jest to wartość błędna. Nadal jednak wartość z formularza nijak ma > się do wartości w klasie liczącej. a może problem z wersją jsf-a? wcześniej używałeś innej a teraz innej? http://stackoverflow.com/questions/2919249/jsf-hinputtext-and-double-value to tak pierwsze z brzegu w podobnym temacie (co nie znaczy iż poprawne w Twoim przypadku) ja wprawdzie nie jestem ani miłośnikiem ani użytkownikiem jsf-a ale przy jednej z okazji miałem problem z h:dataTable, był babol w wersji i nie dało się za bardzo tego użyć, trzeba było użyć innej
Re: JSP przestało raptem działać
Author: MaxZorin
Date: Mon, 18 Apr 2011 13:06
Date: Mon, 18 Apr 2011 13:06
17 lines
2003 bytes
2003 bytes
W dniu 2011-04-18 14:41, Tomek Łabuz pisze: > W dniu 2011-04-18 14:36, MaxZorin pisze: >> W dniu 2011-04-18 13:43, Tomek Łabuz pisze: > > a może problem z wersją jsf-a? wcześniej używałeś innej a teraz innej? > http://stackoverflow.com/questions/2919249/jsf-hinputtext-and-double-value > to tak pierwsze z brzegu w podobnym temacie (co nie znaczy iż poprawne w > Twoim przypadku) > ja wprawdzie nie jestem ani miłośnikiem ani użytkownikiem jsf-a ale przy > jednej z okazji miałem problem z h:dataTable, był babol w wersji i nie > dało się za bardzo tego użyć, trzeba było użyć innej Obawiam się, że to nie to. Nie zmieniałem wersji w czasie pisania aplikacji. Zresztą ten sam problem mam w domu i w pracy. Mam zainstalowane JSF 1.2 + Facelets 1.1.14 Załamka.
Re: JSP przestało raptem działać
Author: lastbark
Date: Mon, 18 Apr 2011 13:38
Date: Mon, 18 Apr 2011 13:38
28 lines
2413 bytes
2413 bytes
W dniu 2011-04-18 15:06, MaxZorin pisze: > W dniu 2011-04-18 14:41, Tomek Łabuz pisze: >> W dniu 2011-04-18 14:36, MaxZorin pisze: >>> W dniu 2011-04-18 13:43, Tomek Łabuz pisze: >> >> a może problem z wersją jsf-a? wcześniej używałeś innej a teraz innej? >> http://stackoverflow.com/questions/2919249/jsf-hinputtext-and-double-value >> >> to tak pierwsze z brzegu w podobnym temacie (co nie znaczy iż poprawne w >> Twoim przypadku) >> ja wprawdzie nie jestem ani miłośnikiem ani użytkownikiem jsf-a ale przy >> jednej z okazji miałem problem z h:dataTable, był babol w wersji i nie >> dało się za bardzo tego użyć, trzeba było użyć innej > > Obawiam się, że to nie to. Nie zmieniałem wersji w czasie pisania > aplikacji. Zresztą ten sam problem mam w domu i w pracy. > Mam zainstalowane JSF 1.2 + Facelets 1.1.14 Może to oczywiste ale czy sprawdziłeś dokładnie, które metody są wywoływane (czyli dodanie do konstruktora, gettera i settera jakiegoś System.out) Jak dla mnie to wygląda, że scope tego beana jest inny niz session i jest on tworzony za każdym razem przy odwołaniu do strony z wynikami. PS Dlaczego piszesz aplikację nie korzystając za jakiegoś gita czy svna? Pozdrawiam
Re: JSP przestało raptem działać
Author: Tomek Łabuz
Date: Mon, 18 Apr 2011 14:21
Date: Mon, 18 Apr 2011 14:21
24 lines
2348 bytes
2348 bytes
> Może to oczywiste ale czy sprawdziłeś dokładnie, które metody są > wywoływane (czyli dodanie do konstruktora, gettera i settera jakiegoś > System.out) Jak dla mnie to wygląda, że scope tego beana jest inny niz > session i jest on tworzony za każdym razem przy odwołaniu do strony z > wynikami. > ubiegłeś mnie o parę minut :) liczyłem, że to jednak walidacja czy konwersja, ten proces też często nie przepuszcza dalej bez większego rozgłosu :) znaczy czasem coś w logach jest ale kto tam je czyta ;) z pierwszego maila wynikało, że bean jest scope session, więc ewentualnie jakiś problem z tworzeniem sesji, z drugiej strony możliwe (tego nie wiem) bean zachowałby się jak o scope request to jednak wyświetliłby te dane jeszcze sprawdziłbym konfiguracje xmlową, może coś powoduje iż jsf ten bean traktuje jako none (wtedy o ile pamiętam dla każdego odwołania jest tworzony nowy obiekt? ) > PS Dlaczego piszesz aplikację nie korzystając za jakiegoś gita czy svna? obstawiam iż kolega pisze sam, wtedy rzadko na pytanie po co mi git czy coś takiego pada inna odpowiedź niż - po cholerę ;)
Re: JSP przestało raptem działać
Author: MaxZorin
Date: Mon, 18 Apr 2011 18:12
Date: Mon, 18 Apr 2011 18:12
38 lines
3224 bytes
3224 bytes
W dniu 2011-04-18 15:38, lastbark pisze: > Może to oczywiste ale czy sprawdziłeś dokładnie, które metody są > wywoływane (czyli dodanie do konstruktora, gettera i settera jakiegoś > System.out) No wydaje mi się, że sprawdziłem, ze wskazaniem na wyrażenie "wydaje mi się". Już trzy dni nad tym siedzę. Jak zwykle pewnie jest jakaś bzdura, ale już mi ręce opadają bo nie wiem gdzie jeszcze szukać. Jak dla mnie to wygląda, że scope tego beana jest inny niz > session i jest on tworzony za każdym razem przy odwołaniu do strony z > wynikami. Tak to właśnie wygląda, ale w kodzie nic na to nie wskazuje i wcześniej układ działał. Co ciekawe (słowo ciekawe to tu wielkie nadużycie ale nie wypada mi kląć) jak wykasuję z faces-config całą sekcję z nawigacją tego przejścia to nic to nie zmienia!(?). Jak tam wsadzę by przechodziło do innej strony - nic to nie zmienia. Nawigacja jest statyczna, więc nie mam za bardzo gdzie grzebać. Prawdę mówiąc to strona jsp z danymi jest w <f:view> a strona z rezultatami w <f:subview id="cośtam"> i razem są wyświetlane przez main.jsp w osobnych div'ach. Ale jak bym nie kombinował z układem, nawigacją czy znacznikami <f:...view> - kiszka. > > PS Dlaczego piszesz aplikację nie korzystając za jakiegoś gita czy svna? 1. Odpowiedź właściwie jak w poście poniżej :) 2. To nie aplikacja komercyjna ale ćwiczebna, uczę się, choć ma to być program użyteczny. Do tego mam przyzwyczajenia z Delphi i czasem mi to nie pomaga. 3. Powrót do wersji działającej niekoniecznie sprawi, że zrozumiem co właściwie nie działa. A skoro nie działa raz to może i nie działać kiedyś znowu. Więc trzeba problem znaleźć i rozwiązać. > > Pozdrawiam Również pozdrawiam i mówiąc szczerze czekam na nowe pomysły.
Re: JSP przestało raptem działać
Author: MaxZorin
Date: Mon, 18 Apr 2011 18:19
Date: Mon, 18 Apr 2011 18:19
8 lines
1895 bytes
1895 bytes
W dniu 2011-04-18 16:21, Tomek Łabuz pisze: > >> PS Dlaczego piszesz aplikację nie korzystając za jakiegoś gita czy svna? > > obstawiam iż kolega pisze sam, wtedy rzadko na pytanie po co mi git czy > coś takiego pada inna odpowiedź niż - po cholerę ;) Bingo. Do tego się po prostu uczę. Dodatkowe wyjaśnienia w poście poniżej.
Re: JSP przestało raptem działać
Author: Tomek Łabuz
Date: Mon, 18 Apr 2011 19:47
Date: Mon, 18 Apr 2011 19:47
20 lines
2311 bytes
2311 bytes
> > Tak to właśnie wygląda, ale w kodzie nic na to nie wskazuje i wcześniej > układ działał. Co ciekawe (słowo ciekawe to tu wielkie nadużycie ale nie > wypada mi kląć) jak wykasuję z faces-config całą sekcję z nawigacją tego > przejścia to nic to nie zmienia!(?). Jak tam wsadzę by przechodziło do > innej strony - nic to nie zmienia. Nawigacja jest statyczna, więc nie > mam za bardzo gdzie grzebać. > Prawdę mówiąc to strona jsp z danymi jest w <f:view> a strona z > rezultatami w <f:subview id="cośtam"> i razem są wyświetlane przez > main.jsp w osobnych div'ach. > Ale jak bym nie kombinował z układem, nawigacją czy znacznikami > <f:...view> - kiszka. wiesz co, co chwila dodajesz jakieś kolejne elementy, które składają się na całość - teraz wlazło subview, przechodzisz do innej strony ale w sumie to wyświetlasz to na jednej stronie :) może udostępnij ten projekt gdzieś cały albo wyślij na priva jak nie chcesz publicznie, może coś wymyślimy a potem ku przestrodze opublikujemy wyniki :)
Re: JSP przestało raptem działać
Author: MaxZorin
Date: Mon, 18 Apr 2011 20:11
Date: Mon, 18 Apr 2011 20:11
11 lines
1786 bytes
1786 bytes
W dniu 2011-04-18 21:47, Tomek Łabuz pisze: > > wiesz co, co chwila dodajesz jakieś kolejne elementy, które składają się > na całość - teraz wlazło subview, przechodzisz do innej strony ale w > sumie to wyświetlasz to na jednej stronie :) > może udostępnij ten projekt gdzieś cały albo wyślij na priva jak nie > chcesz publicznie, może coś wymyślimy a potem ku przestrodze > opublikujemy wyniki :) Posłałem na javatrainings@gmail.com Dzięki.
Re: JSP przestało raptem działać
Author: Zbigniew Malec
Date: Mon, 18 Apr 2011 21:54
Date: Mon, 18 Apr 2011 21:54
13 lines
1136 bytes
1136 bytes
On Mon, 18 Apr 2011 10:43:35 +0200, MaxZorin wrote: > Ludzie pomóżcie proszę. 1. Do każdej metody1 set/get dodaj logowanie (zajebiście ważne). 2. Do każdego konstruktora dodaj logowanie (jeszcze bardziej zajebiście ważne). 3. Wykonaj nawigację. 4. Przeczytaj logi. -- Pozdrawiam Zbyszek Malec
Re: JSP przestało raptem działać
Author: Tomek Łabuz
Date: Tue, 19 Apr 2011 05:21
Date: Tue, 19 Apr 2011 05:21
17 lines
1604 bytes
1604 bytes
W dniu 2011-04-18 23:54, Zbigniew Malec pisze: > On Mon, 18 Apr 2011 10:43:35 +0200, MaxZorin wrote: > >> Ludzie pomóżcie proszę. > > 1. Do każdej metody1 set/get dodaj logowanie (zajebiście ważne). > 2. Do każdego konstruktora dodaj logowanie (jeszcze bardziej zajebiście > ważne). > 3. Wykonaj nawigację. > 4. Przeczytaj logi. > na dobrą sprawę to chyba wystarczyło to ostatnie, na 90% problem leżał w walidacji ale nie tego "podejrzanego" pola tylko innego, dla którego jednak nie było na stronie żadnego komunikatu a logi... no cóż, początkujący często nawet o czymś takim nie wiedzą...
Re: JSP przestało raptem działać
Author: lastbark
Date: Tue, 19 Apr 2011 14:58
Date: Tue, 19 Apr 2011 14:58
17 lines
2149 bytes
2149 bytes
W dniu 2011-04-18 20:12, MaxZorin pisze: > W dniu 2011-04-18 15:38, lastbark pisze: >> PS Dlaczego piszesz aplikację nie korzystając za jakiegoś gita czy svna? > 1. Odpowiedź właściwie jak w poście poniżej :) > 2. To nie aplikacja komercyjna ale ćwiczebna, uczę się, choć ma to być > program użyteczny. Do tego mam przyzwyczajenia z Delphi i czasem mi to > nie pomaga. > 3. Powrót do wersji działającej niekoniecznie sprawi, że zrozumiem co > właściwie nie działa. A skoro nie działa raz to może i nie działać > kiedyś znowu. Więc trzeba problem znaleźć i rozwiązać. Dzięki kontroli wersji masz możliwość nie tylko powrotu do jakiegoś poprzedniego stanu. Możesz również prześledzić całą historię zmian w projekcie. Każdy system kontroli wersji zawiera narzędzia do porównywania plików. Możesz stwierdzić co się zmieniło, w której linii i kiedy.
Re: JSP przestało raptem działać
Author: MaxZorin
Date: Tue, 19 Apr 2011 18:56
Date: Tue, 19 Apr 2011 18:56
25 lines
2766 bytes
2766 bytes
W dniu 2011-04-19 16:58, lastbark pisze: > W dniu 2011-04-18 20:12, MaxZorin pisze: >> W dniu 2011-04-18 15:38, lastbark pisze: >>> PS Dlaczego piszesz aplikację nie korzystając za jakiegoś gita czy svna? >> 1. Odpowiedź właściwie jak w poście poniżej :) >> 2. To nie aplikacja komercyjna ale ćwiczebna, uczę się, choć ma to być >> program użyteczny. Do tego mam przyzwyczajenia z Delphi i czasem mi to >> nie pomaga. >> 3. Powrót do wersji działającej niekoniecznie sprawi, że zrozumiem co >> właściwie nie działa. A skoro nie działa raz to może i nie działać >> kiedyś znowu. Więc trzeba problem znaleźć i rozwiązać. > > Dzięki kontroli wersji masz możliwość nie tylko powrotu do jakiegoś > poprzedniego stanu. Możesz również prześledzić całą historię zmian w > projekcie. > > Każdy system kontroli wersji zawiera narzędzia do porównywania plików. > Możesz stwierdzić co się zmieniło, w której linii i kiedy. Masz rację. Wiem o tym. Ale ze względu na to, że projekt jest dla mnie nauką korzystam jedynie z tego co daje sam NetBeans. Problem już został rozwiązany przez Tomka Łabuza. Miałem ustawioną wartość pola poza sprawdzanym zakresem. I temu się nie liczyło. W życiu bym na to chyba nie wpadł. Jednak aplikacje webowe to zupełnie inna bajka niż okienkowe (standalone).
Re: JSP przestało raptem działać
Author: MaxZorin
Date: Tue, 19 Apr 2011 18:59
Date: Tue, 19 Apr 2011 18:59
22 lines
2034 bytes
2034 bytes
W dniu 2011-04-19 07:21, Tomek Łabuz pisze: > W dniu 2011-04-18 23:54, Zbigniew Malec pisze: >> On Mon, 18 Apr 2011 10:43:35 +0200, MaxZorin wrote: >> >>> Ludzie pomóżcie proszę. >> >> 1. Do każdej metody1 set/get dodaj logowanie (zajebiście ważne). >> 2. Do każdego konstruktora dodaj logowanie (jeszcze bardziej zajebiście >> ważne). >> 3. Wykonaj nawigację. >> 4. Przeczytaj logi. >> > > > na dobrą sprawę to chyba wystarczyło to ostatnie, na 90% problem leżał w > walidacji ale nie tego "podejrzanego" pola tylko innego, dla którego > jednak nie było na stronie żadnego komunikatu a logi... no cóż, > początkujący często nawet o czymś takim nie wiedzą... > O logach wiedzieć to wiedzą, ale, podobnie jak wszelkich helpów itp., czytać się nie chce i po przesiadce ze środowiska np. Delphi nie przywiązuje się do logów należnej im wagi. :)
t9uT7U <a href="http://mgagjnskuutp.com/">mgagjnskuutp</a>, [url=http://ozmebul
Author: New York
Date: Wed, 31 Oct 2012 05:01
Date: Wed, 31 Oct 2012 05:01
4 lines
1360 bytes
1360 bytes
t9uT7U <a href="http://mgagjnskuutp.com/">mgagjnskuutp</a>, [url=http://ozmebulqwrco.com/]ozmebulqwrco[/url], [link=http://hsjxrdquiacd.com/]hsjxrdquiacd[/link], http://ybnxdwvdqdrr.com/
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads