检索验证器类中的selectOneMenu组件属性的值

时间:2012-02-17 14:34:04

标签: java jsf validation

我有一个问题,即将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.
}

}

你们会建议我做什么来接收该属性的价值?

你真诚的......

0 个答案:

没有答案