
Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
31.03.2007, 23:55:23
|
|||
|---|---|---|---|
|
|||
jsf и жизненый цикл |
|||
|
#18+
Здравствуйте, уважаемые. Не могу реализовать следующее. Имеется две jsp страницы products.jsp, oneproduct.jsp.На странице products.jsp отображается наименования продуктов в виде <commandLink/>: <h:commandLink action="toOneProduct" actionListener="#{oneProdBean.execute}"> <h:outputText value="#{product.chrProductName}" rendered="true"/> <f:param name="idProduct" value="#{product.idProdBean}"/> </h:commandLink> Здесь все работает нормально. При выборе какого-либо продукта выполняется метод execute бина oneProduct. В этом методе выполняется выборка детальных данных о продукте и эти данные записываются в соответствующие переменные: result=statement.executeQuery("execute sp_RetrieveProduct "+getProductId()); result.next(); productName=result.getString(PRODUCT_NAME_COLUMN); productImage=result.getString(PRODUCT_IMAGE_COLUMN); productId=result.getString(ID_PRODUCT_COLUMN); productDescription=result.getString(PRODUCT_DESCRIPTION_COLUMN); productPrice=result.getString(PRODUCT_PRICE_COLUMN); // PROPERTY: productId public String getProductId(){ return productId;} public void setProductId(String newValue){productId=newValue;} // PROPERTY: productName public String getProductName(){return productName;} public void setProductName(String newValue){productName=newValue;} // PROPERTY: productImage public String getProductImage(){return productImage;} public void setProductImage(String newValue){productImage=newValue;} // PROPERTY: productPrice public String getProductPrice(){return productPrice;} public void setProductPrice(String newValue){productPrice=newValue;} // PROPERTY: productDescription public String getProductDescription(){return productDescription;} public void setProductDescription(String newValue){productDescription=newValue;} Далее отображается страничка oneproduct.jsp: <h:graphicImage value="/images/Products/#{oneProdBean.productImage}"/> <h:outputText value="#{oneProdBean.productDescription}"/> <h:outputText value="#{oneProdBean.productName}"/> До этого момента все работает нормально. Далее на этой же страничке oneproduct.jsp имеется commandButton c cсылкой на метод того же бина oneProdBean: <h:commandButton value="#{msgs.productButton}" action="#{oneProdBean.goToBasket}" actionListener="#{oneProdBean.addToBasket}"/> В методе addToBasket делается запись продукта в корзину: statement.executeUpdate("sp_InsertBasketItem '"+ idBasket+"','"+ getProductQuantity()+"','"+ getProductPrice()+"','"+ getProductName()+"','"+ getProductId()+"','"+ getProductSize()+"','"+ getProductColor()+"'"); НО методы getProductId(),getProductName()... возвращают null. Почему так??? В faces-config.xml бин oneProductBean описан следующим способом: <managed-bean> <managed-bean-name>oneProdBean</managed-bean-name> <managed-bean-class>kgu.vmk.diplom.shop.OneProductBean</managed-bean-class> <managed-bean-scope>request</managed-bean-scope> </managed-bean> Если scope установить в session конечно все работает, но это является лишним и мешает в дальнейшем. По-моему значения productId, productPrice и т.д. не должны теряться. Буду благодарен любой подсказке. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=59&mobile=1&tid=2146221]: |
0ms |
get settings: |
13ms |
get forum list: |
23ms |
check forum access: |
6ms |
check topic access: |
6ms |
track hit: |
49ms |
get topic data: |
18ms |
get forum data: |
4ms |
get page messages: |
42ms |
get tp. blocked users: |
2ms |
| others: | 283ms |
| total: | 446ms |

| 0 / 0 |
