我有一个问题,即将JSF selectOneMenu组件设置为属性并在验证器Java类中检索其值。我有以下JSF代码snipplet:
<h:selectOneMenu id="metalCodes" converter="metalCodeConverter" required="true" requiredMessage="#{lang.metalStockIntroducing_metalCode_req_txt}" value="#{metalStockIntroducingProcessesBean.metal.metalCode}">
<f:selectItem itemLabel="Please select..." noSelectionOption="true" />
<f:selectItems value="#{metalStockIntroducingProcessesBean.metalCodesMenu}" />
<f:ajax listener="#{metalStockIntroducingProcessesBean.changeMetalType}" event="change" execute="metalCodes" render="metalTypesMenu" immediate="false"/>
<f:attribute name="metalCodeAtt" value="#{metalCodeAtt}"/>
</h:selectOneMenu>
我无法想象如何在验证器类中检索metalCodeAtt的值。
我尝试了UIInput和HtmlSelectOneMenu类来检索metalCodeAtt的值。但是,无法检索该值。我一直在检索空值。
public class DensityValidator implements Validator{
public void validate(FacesContext context, UIComponent component, Object value){
UIInput met = (UIInput) component.getAttributes().get("metalCodeAtt"); // returns null
HtmlSelectOneMenu met2 = (HtmlSelectOneMenu) component.getAttributes().get("metalCodeAtt"); // returns null again.
}
}
你们会建议我做什么来接收该属性的价值?
你真诚的......