Witam, mam takowe zapytanie, co jest nie tak? :)
Mianowicie posłużyłem się tym oto przyjemnym tutkiem: http://balusc.blogspot.com/2006/06/communication-in-jsf.html a mój zamierzony cel nie został osiągnięty.
Chodzi mi o to, aby podczas przechodzenia pod inną stronę przekazywać do beana wartość id o danej książce, aby ją później znaleźć i wyświetlić. Co się dzieje? Wartość do której mam przypisać parametr w ogóle nie dostaje takowego przypisania. Proszę o pomoc w znalezieniu dlaczego tak się dzieje.
faces-config.xml:
<managed-bean>
<managed-bean-name>bookBean</managed-bean-name>
<managed-bean-class>com.bookworm.web.BookBean</managed-bean-class>
<managed-bean-scope>request</managed-bean-scope>
<managed-property>
<property-name>passedBookId</property-name>
<value>#{param.passedBookId}</value>
</managed-property>
</managed-bean>
Bean:
private String passedBookId; //+ gettery i settery
public Book getSpecificBook(){
return bookManager.getSpecificBook(passedBookId);
BeanManager:
public Book getSpecificBook(String id){
long bookId = Long.parseLong(id);
Book specificBook = new Book();
specificBook = (Book) entityManager.createQuery(
"from Book where id=?1"
)
.setParameter(1, bookId)
.getSingleResult();
return specificBook;
}
i nareszcie widok:
<h:outputLink value="showBook.jsf">
<f:param name="passedBookId" value="#{current.id}" />
<h:outputText value="Pokaz ksiazke >>>" />
</h:outputLink>
Ja błędów nie widzę niestety...
Sprawdzałem, jeśli przekażę bezpośrednio do metody w beanManagerze np "1" to wszystko śmiga, czyli wartość passedBookId w beanie nie jest ustawiana wynika z tego.