Jak używać Rest + JSF + DB

0

Chciałem się dowiedzieć na prostym przykładzie jak przekazywać dane z JSF do restowego Controllera i żeby zapisać je do bazy dancyh przy uzyciu JPA i klasy DAO ?

0

CO chcesz osiągnąć ?. Dziwny zestaw strasznie

0

JSF to renderowania po stronie serwera ( i z tego co słyszałem nienajlepsze).
ReactJS to renderowanie po stronie klienta więc niezbyt to siebie pasuje...

0

W JSF nie używa się restowych kontrolerów, dane mapuje się przez ExpressionLanguage na atrybuty/metody klas, np tak.:

// dzieki temu @Named poniżej, inputy w HTML mapujemy np. tak:
// <h:inputText value="#{createUser.user.username}" />
//  <h:commandButton  action="#{createUser.on_createUser_ButtonClick}"  value="zapisz" />
@Named
@ViewScoped
public class CreateUser implements Serializable {

    @PersistenceContext
    EntityManager em;

    User user;
    public User getUser(){ return user; } //musi byc getter

	@PostConstruct
	void init(){
		User user = new User();
	}
	
    @Transactional
    public String on_createUser_ButtonClick() {
        em.persist(user);
        em.flush();
        em.refresh(user);// flush + refresh zeby wziac id wygenerowane przez baze danych
        return "/user/details?userid="+user.getId()+"&faces-redirect=true&includeViewParams=true";
    }

}

@Named powoduje że z szablonu HTML możemy odwoływać się do klasy pod jej nazwą zaczętą z małej litery (np. createUser), potem jak chcemy odwoływać się do kolejnych pól (np. #{createUser.user.username}), to te pola muszą mieć gettery ( i czasami settery), a metody muszą być chyba publiczne

0

A gdybym chciał później użyć backendu uzyć do stworzenia aplikacji na androida?

0
Wolo napisał(a):

A gdybym chciał później użyć backendu uzyć do stworzenia aplikacji na androida?

No to możesz sobie osobno napisać taki restowy "kontroler", a zapytanie do bazy oddelegować do ejb czy czego tam używasz

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