JSF 페이지의 AJAX에 문제가 있습니다. 그는 콩 메서드를 호출하지 않습니다. 변환기가 작동하고 올바른 개체를 반환하지만 Bean 메서드는 호출하지 않습니다. 섹션 호출을 실행하면 제거됩니다. 커버 러를 제거하고 Id 메소드 호출 만 보내는 경우. 함께 실패합니다.JSF ajax 및 사용자 정의 변환기
JSF 페이지
<h:form id="jewelForm">
<!-- ... -->
<h:selectOneMenu id="material" value="#{jewelBean.material}" >
<f:converter converterId="materialConverter"/>
<f:selectItems value="#{jewelBean.materialList}" var="c"
itemLabel="#{c.name}" itemValue="#{c.id}" />
</h:selectOneMenu>
<h:commandButton id="but1" value="#{titles.addThisMat}">
<f:ajax id ="aj1"
listener="#{jewelBean.addMaterial}"
render="jewelForm:matTable"
execute="material"/>
</h:commandButton>
<h:dataTable id ="matTable"
</h:dataTable>
<h:commandButton value="#{titles.createThisJ}"
action="#{jewelBean.saveJewel()}" />
</h:form>
콩
@ManagedBean(name = "jewelBean")
@SessionScoped
public class JewelBean implements Serializable {
private Material material;
public void addMaterial() {
MaterialJewel mj = new MaterialJewel();
mj.setMaterial(material);
mj.setWeight(materialWeight);
materialJewels.add(mj);
}
public Material getMaterial() {
return material;
}
public void setMaterial(Material material) {
this.material = material;
}
}
계산기
@FacesConverter("materialConverter")
public class materialConverter implements Converter {
@Override
public Object getAsObject(FacesContext context, UIComponent component, String value) {
try {
//finding object with DAO
return material;
}
} catch (NumberFormatException ex) {
}
}
@Override
public String getAsString(FacesContext context, UIComponent component, Object value) {
return value.toString();
}
}
의견에 감사드립니다.
아니, 나는 그것을 시도하고 도움이되지 않습니다 . – kisileno