JSF PrmieFaces desktop a mobile

0

Cześć,

Mam takie pytanie. Dłubię sobie w JSF + PrimeFaces i mam takie pytanie.

Czy podstawowe komponenty z PrimeFaces na desktopa można połączyć jakoś z tymi komponentami mobilnymi?

Dla przykładu. Chcę stworzyć panel Administracyjny, gdzie będę chciał się logować ja i to właśnie z desktopa. Natomiast chciałbym mieć jeszcze jeden poziom uprawnień dla innych osób, ale one by w zasadzie głównie albo w 100% logowały się poprzez mobilne urządzenia (tablet, smartphone).

Jak to połączyć?

Dorwałem to: http://primefaces.org/gettingStarted

Ale czy można używać tego jednocześnie?

Jak rozwiązać taki przypadek?

0

Teoretycznie dać się powinno bez trudu, tzn.

xmlns:pm="http://primefaces.org/mobile"
a potem dodajesz elementy (np. pm:spinner dla mobile).

Lecz moim zdaniem nie powinieneś łączyć komponentów dla mobile i nie-mobile na jednej stronie.
Lepiej po prostu zrobić to jak wszyscy - rozdzielić połączenia na te, które przyszły z przeglądarki webowej na kompie oraz te, które przyszły z przeglądarki telefonicznej i przygotować oddzielne wersje stron.

0

W takim razie jak zrobić takie rozpoznawanie urządzeń. W zasadzie chciałbym by tylko jedna strona mojej aplikacji przełączała się na widok mobilny. np panel administratora.
Jak to zrobić? Znalazłem coś takiego:

public void doGet(HttpServletRequest request,
                HttpServletResponse response) throws ServletException, IOException {
  if(request.getHeader("User-Agent").indexOf("Mobile") != -1) {
    //you're in mobile land
  } else {
    //nope, this is probably a desktop
  }
}

,ale gdzie to umieścić. Teraz w każdej mojej stronie jsf muszę wszystko wrzucić do tego ifa?

0

Chyba najłatwiej by to było zrobić poprzez Spring'a, tzn.
http://projects.spring.io/spring-mobile/

Oczywiście można to zrobić, tak jak Ty proponujesz - wystarczy rzucić w odpowiedzi odpowiedni redirect:

if(!mobileRequest){
response.sendRedirect(response.encodeRedirectURL("http://www.costamcostam.pl/jakasstrona");
} else {
response.sendRedirect(response.encodeRedirectURL("http://www.costamcostam.pl/jakasstrona-mobile");
}

dodanie znacznika <code class="java"> - Furious Programming

1 użytkowników online, w tym zalogowanych: 0, gości: 1