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



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

我的网页:

    <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中找不到键值(例如版本

一个工作正常的解决方案是为每个查询参数提供一个验证器函数。有没有办法理解参数的名称?

下一个问题:是否可以跳过所有验证器并将值设置为 myBean?我试过了,但值没有在myBean.mobileModel

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

所以,这应该可以:

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

相关内容

  • 没有找到相关文章

最新更新