Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / jsf и жизненый цикл / 1 сообщений из 1, страница 1 из 1
31.03.2007, 23:55:23
    #34429499
Ruslan_Almet
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
jsf и жизненый цикл
Здравствуйте, уважаемые. Не могу реализовать следующее. Имеется две 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 и т.д. не должны теряться. Буду благодарен любой подсказке.
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / jsf и жизненый цикл / 1 сообщений из 1, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]