2
설정 메소드 selectedRestaurant
이 호출되었지만 메뉴가 단지 뒤집어지고 <h:outputText>
을 렌더링하지 않습니다. 메뉴에 내용이 있으므로 <f:selectItems>
에 사용 된 목록은 비어 있지 않습니다. 내가 omnifaces.SelectItemsConverter
을 사용하고 있기 때문에 그것이 변환 문제로 인한 것이 아닐 것이라고 생각합니다.목록의 객체를 사용하는 Primefaces SelectOneMenu가 다시 선택 항목으로 반전합니다.
이 내 JSF 코드입니다 :
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:p="http://primefaces.org/ui">
<h:head />
<h:body>
<h:panelGroup id="adminOneMenu" layout="block">
<h:form>
<p:selectOneMenu value="#{bugBean.selectedRestaurant}" converter="omnifaces.SelectItemsConverter">
<f:selectItem itemValue="" itemLabel="Restaurant wählen"/>
<f:selectItems value="#{bugBean.restaurants('London')}" var="restaurant" itemLabel="#{restaurant.screenName}"/>
<p:ajax update=":adminOneMenu"/>
</p:selectOneMenu>
<h:outputText value="#{bugBean.selectedRestaurant.screenName}" />
</h:form>
</h:panelGroup>
</h:body>
</html>
이 후원 콩은 다음과 같습니다 변환 오류가있을 것이다
package huhu.main.managebean;
import java.io.Serializable;
import java.util.List;
import javax.ejb.EJB;
import javax.enterprise.context.SessionScoped;
import javax.inject.Named;
import huhu.model.generated.Restaurant;
import huhu.service.RestaurantService;
@Named
@SessionScoped
public class BugBean implements Serializable {
private static final long serialVersionUID = 1L;
private Restaurant selectedRestaurant;
@EJB
RestaurantService rs;
public List<Restaurant> getRestaurants(String city){
List<Restaurant> restaurants;
restaurants = rs.getRestaurantsInCity(city);
return restaurants;
}
public Restaurant getSelectedRestaurant() {
return selectedRestaurant;
}
public void setSelectedRestaurant(Restaurant selectedRestaurant) {
this.selectedRestaurant = selectedRestaurant;
}
}
오류 메시지가없고, #equals() 및 #hashcode() 구현이 없습니다. 'omnifaces.SelectItemsConverter'에 꼭 필요한 것은 아니겠습니까? – Lester
변환에는 필요하지 않지만 selectOneMenu에는 필 요합니다. Primefaces selectOneMenu는 레스토랑이 선택 항목 목록에 선택되어 있는지 확인합니다. #equals()가 구현되지 않으면 이것이 작동하지 않을 수 있습니다. – stg
데이터베이스 테이블에서 생성 된 엔티티입니다. 새로 생성 할 때마다 수동으로 편집하지 않고 어떻게 구현할 수 있습니까? – Lester