나는 같은 페이지에 같은 여러 가지 형태가 있습니다몇 가지 선택 메뉴, 마지막 하나는 작동
여기<h:form>
<h:selectOneMenu value="#{collectionBean.selectedCollection}">
<f:selectItems value="#{collectionBean.collectionItems}" />
<a4j:support event="onchange" />
</h:selectOneMenu>
<a4j:commandButton value="Add" action="#{collectionBean.addToCollection(_resource)}" >
</a4j:commandButton>
</h:form>
내 콩입니다 : 양식이 연관되어
@Name("collectionBean")
@Scope(ScopeType.SESSION)
public class CollectionBean {
private String selectedCollection;
public String getSelectedCollection() {
return selectedCollection;
}
public void setSelectedCollection(String collectionName) {
selectedCollection = collectionName;
}
public List<SelectItem> getCollectionItems() {
...
}
public void addToCollection(Resource res) {
...
}
}
리소스 _resource
의 목표는 사용자가 선택한 컬렉션에 리소스를 추가하도록하는 것입니다.
문제는 페이지의 마지막 양식 만 작동한다는 것입니다. 다른 양식의 선택을 변경하면 setSelectedCollection
메서드가 호출되지 않습니다.
무엇이 잘못 될 수 있는지 생각해보십시오.
하나의 동일한 bean 속성에 바인딩되는 여러 개의 구성 요소가 단일 뷰에 있다는 것은 말합니까? 그게 어떻게 이해가 되니? 개별 값을 가져올 수 있도록 별개의 빈 속성에 바인딩하지 않을까요? – BalusC
이것은 리소스 테이블이며, 각 리소스에 대해 사용자가 리소스를 추가 할 컬렉션을 선택할 수 있습니다. 여기에 코드를 표시하지 않았지만 양식에 "추가"버튼도 있습니다. – eskaev
당신의 문제가 여기에 답변 된 동일한 원인을 가지고있는 것처럼 점점 더 보입니다 : http://stackoverflow.com/questions/10972284/hselectonemenu-in-loop/10973440#10973440 당신은 하나의 빈에 여러 구성 요소를 바인딩하고 있습니다. 속성과 어떻게 든이 단일 속성 마법의 여러 값을 한 번에 보유 할 수 있습니다 기대. – BalusC