Пытаюсь вывести всех Pet на странице после регистрации пользователя,но не выводится ничего. Вопросы к знатокам:
1 здесь я создаю кнопку и поле для ввода имени
<p:commandButton value="create pet" id="ajax" update="growl" action ="#{firstPage.buttonAction}"
styleClass="ui-priority-primary" />
<h:inputText value="#{firstPage.petName}"/>
как мне сделать,чтобы при нажатии выводили все pet этого customer?
2 Должно ли быть все в одной форме? или нужно для каждого действия создавать новуб форму.
3 Я прочел про activity, но не могу понять, как его приминять для конкретной кнопки.
мой код
<h:head>
</h:head>
<h:body>
<h1>Hello World</h1>
<h:form>
<p:growl id="growl" life="2000"/>
<p:commandButton value="create pet" id="ajax" update="growl" action ="#{firstPage.buttonAction}"
styleClass="ui-priority-primary" />
<h:inputText value="#{firstPage.petName}"/>
<p:panel header="Pets" id="addedPets">
<p:dataTable value="#{customer.pets}" var="pet">
<p:column>
<h:column>
#{pet}
</h:column>
<h:outputText value="#{customer.id}">
</h:outputText>
</p:column>
</p:dataTable>
</p:panel>
</h:form>
</h:body>
сам бин
@Named
@ManagedBean
public class FirstPage {
@EJB
private PetManager petManager;
private String petName;
public String getPetName() {
return petName;
}
public void setPetName(String petName) {
this.petName = petName;
}
public PetManager getPetManager() {
return petManager;
}
public void setPetManager(PetManager petManager) {
this.petManager = petManager;
}
public void buttonAction(ActionEvent actionEvent) {
petManager.createPet(FacesUtils.getUserId(), petName);
System.out.println("Pet createt");
}
}
класс для создании кнопки
@Stateful
public class PetManager {
@EJB
private PetRepository petRepository;
@EJB
private CustomerRepository customerRepository;
public void createPet(Integer customerId, String name) {
Pet pet = petRepository.createPet(name);
customerRepository.addPetToCustomer(customerId, pet);
}
}
клиент
@Entity(name = "CUSTOMER")
@Named
public class Customer {
public static final String FIND_BY_USERNAME_AND_PASSWORD = "findByUsernameAndPassword";
/* @PersistenceContext
private EntityManager entityManager;*/
@Id
@GeneratedValue
private Integer id;
@Column
@Unique
private String login;
@Column
private String password;
@OneToMany
private List<Pet> pets;
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getLogin() {
return login;
}
public void setLogin(String login) {
this.login = login;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public List<Pet> getPets() {
/* List<Pet> pets = new ArrayList<>();
Query query = em.createQuery("SELECT pet FROM CUSTOMER");
List<Customer> customerList = query.getResultList();
for (Customer customer: customerList){
pets.add((Pet) customer.getPets());
}*/
// Query query = entityManager.createQuery(" SELECT pets FROM CUSTOMER ");
//return query.getResultList();
return pets;
}
public void setPets(List<Pet> pets) {
this.pets = pets;
}
<p:commandButton value="create pet" id="ajax" update="addedPets" actionListener ="#{firstPage.buttonAction}"
styleClass="ui-priority-primary" />
<h:inputText value="#{firstPage.petName}"/>
<p:panel header="Pets" id="addedPets">
<p:dataTable value="#{firstPage.pets}" var="pet" >
<p:column>
<h:outputText value="#{pet.name}" id="addPets" >
</h:outputText>
</p:column>
</p:dataTable>
</p:panel>
а так же
public void buttonAction(ActionEvent actionEvent) {
petManager.createPet(FacesUtils.getUserId(), petName);
}
public Collection<Pet> getPets() {
return customerManager.getPetsForCustomer(FacesUtils.getUserId());
}
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Всем привет! Подскажите как заставить крутиться ProgressBar n секунд и затем перейти на новый activity ???
Всем доброго дняВопрос по JAVA Spring Boot Либо неправильно ищу, либо не знаю что ищу
У меня в приложении есть Service, который осуществляет запись звука(Foreground)
Имеется контакт на устройстве, после его удаления и восстановления, ему присваивается новый RAW_CONTACT_IDКаким образом можно присвоить ему старый?