在我的网络应用中,我无法使用单个验证器获取查询参数的关键值。
我的网页:
<f:metadata>
<f:viewParam name="version" value="#{myBean.version}"
validator="#{myBean.inputValidator}" />
<f:viewParam name="mobilemodel" value="#{myBean.mobileModel}"
validator="#{myBean.inputValidator}" />
<f:event listener="#{myBean.preRenderViewEventHandler}"
type="preRenderView" />
</f:metadata>
我验证组件的功能:
public void inputValidator(FacesContext context, UIComponent component, Object value) throws ValidatorException {
LOG.debug("Component: " + component);
LOG.debug("Value: " + value);
}
我无法在UIComponent
一个正常的解决方案是为每个查询参数提供一个Validator函数。有一种方法可以理解参数的名称吗?
下一个问题:可以跳过所有验证器并将值设置为myBean吗?我试过了,但是myBean.mobileModel
答案 0 :(得分:1)
您可以按UIComponent#getAttributes()
获取所有组件属性。
所以,这应该做:
String name = (String) component.getAttributes().get("name");
// ...