Spring i JSF, kontrolery.

0

Witam. Planuję poznać Springa. Na początku przejrzałem jakieś proste tutoriale typu CRUD, ale przymierzałbym się do napisania czegoś większego i tutaj mój problem. Mianowicie z tego co zauważyłem Spring MVC, nie posiada żadnych gotowych komponentów do budowania strony a zależałoby mi na czymś takim jak JSF(Primefaces) żeby strona jakoś wyglądała. Wiem, że da się zintegrować Springa i JSFa i właśnie zastanawiam się jak to wygląda z kontrolerami. W springu mamy @Controller, który służy m.in. do nawigacji między stronami. Jeśli zintegruję Springa z JSFem wtedy nie muszę korzystać z tych kontrolerów(@Controller)? Ponieważ wtedy całą nawigację przejmą ManagedBeany(a raczej bean CDI, bo chyba od najnowszej wersji dla JSFa to będzie oficjalny standard) i wszystko będzie zarządzane w pliku faces-config.xml, przez co Springowe kontrolery będą mi zbędne? Czy dobrze rozumuję? Jeśli znacie jakieś lepsze połączenia dla Springa, które ułatwiłyby mi tworzenie wyglądu strony to również proszę o propozycję. Zależałoby mi tak jak wcześniej napisałem na czymś w stylu JSFowego primefaces, czyli zestawu gotowych komponentów.

3

W takiej sytuacji korzysta się z bibliotek javascriptowych -> jQueryUI, YUI, Dojo, Sencha.
Możesz oczywiście integrować Springa z JSF ale wtedy cały frontend i obsługa na poziomie MVC leci do JSFa a Springa możesz używać raczej jako IoC.

0

Ok dzięki za odpowiedź. Mam jeszcze jedno pytanie czytałem, że kontroler springowy musi zwracać obiekt typu ModelAndView. Jednak w przykładzie widziałem jak zwracał Stringa:

 @RequestMapping(value = "/", method = RequestMethod.GET)
    public String home(Locale locale, Model model) {
        logger.info("Welcome home! The client locale is {}.", locale);

        Date date = new Date();
        DateFormat dateFormat = DateFormat.getDateTimeInstance(DateFormat.LONG, DateFormat.LONG, locale);

        String formattedDate = dateFormat.format(date);

        model.addAttribute("serverTime", formattedDate );

        return "home";
    }

Czyli może zwracać Stringa z nazwą strony zamiast całęgo obiektu ModelAndView?

3

Może, wtedy tak jakby zwracasz samo View ;) Ale w praktyce zwykle jednak coś chcesz na tej stronie wyświetlać a to coś trzeba tam jakoś przekazać, właśnie za pomocą ModelAndView :) W JSFie takie "cosie" ciągniesz z managed beanów a w Spring MVC musisz te cosie przekazać explicite do widoku.

0

Hej, fajny wątek - bardzo żałuję, że nie jest ciągnięty dalej. Sam zacząłem uczyć się Springa i tak, jak kolega, chciałem go połączyć z Primefaces. Czytałem rozdział w SpringInAction o SpringMVC, ale jest to zupełnie inna historia, - dotychczas na studiahc, jak robiłem coś z JSF, to wyglądało zupełnie inaczej. Raczej nie chciałbym się cofać do samego jsp..., bo to chyba nie te czasy...

0

Jak lubisz PrimeFaces i chcesz używać Spring MVC zainteresuj się PrimeUI.
http://www.primefaces.org/primeui/

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