Witam,
Mam do zrobienia aplikacje webową w JDeveloper (na zajęcia). Zaznaczę, że nie programuje zbytnio w JAVIE. To ma być prosta aplikacja posiadająca następujące funkcjonalności : odczyt np. towarów z bazy danych, możliwość dodania nowych towarów i edycja już istniejących. Z 2 pierwszymi już sobie poradziłem jednak mam problem z edycją już istniejących produktów. Wyświetlam je w tabeli z danymi, przy każdym produkcie jest przycisk "Edycja", po wciśnięciu którego powinniśmy przenieść się do strony na której można ten produkt edytować(nazwa i symbol produktu powinny zostać pobrane i wczytane do odpowiednich pól tekstowych). Odpowiedzialny jest za to kod umieszczony w pliku z listą produktów:
public String editCzesci() {
Czesci czesc = (Czesci)this.getDataTable1().getRowData();
FacesContext ctx = FacesContext.getCurrentInstance();
Application app = ctx.getApplication();
ValueExpression ve = app.getExpressionFactory().createValueExpression(ctx.getELContext(),"{#backing_editCzesci.czesc}", Czesci.class);
ve.setValue(ctx.getELContext(), czesc); //TU SIE WYWALA
return "editCzesci";
}
Kod jest pobrany z przykładowej aplikacji dostarczonej przez wykładowce. Gdy uruchomię stronę, wyświetlę listę produktów z bazy i kliknę w przycisk "Edycja" znajdujący się przy produkcie dostaje błąd w IE:
javax.faces.FacesException: #{backing_listaCzesci.editCzesci}: javax.el.PropertyNotWritableException: Illegal Syntax for Set Operation
at com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:118)
at javax.faces.component.UICommand.broadcast(UICommand.java:387)
....
Mógłby mi ktoś powiedzieć co powoduję taki błąd i co powinienem zmodyfikować żeby go wyeliminować. Będę wdzięczny :-)
Pzdr