jsf从GET请求中获取键/值参数

时间:2013-01-31 16:45:28

标签: jsf javabeans meta-tags validation query-parameters

在我的网络应用中,我无法使用单个验证器获取查询参数的关键值。

我的网页:

    <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

中没有设置值

1 个答案:

答案 0 :(得分:1)

您可以按UIComponent#getAttributes()获取所有组件属性。

所以,这应该做:

String name = (String) component.getAttributes().get("name");
// ...