gpt4 book ai didi

jsf - 仅忽略 JSF 中的无效查询参数

转载 作者:行者123 更新时间:2023-12-01 04:53:45 24 4
gpt4 key购买 nike

我正在使用 f:viewparam 将 GET 请求参数捕获到 JSF 页面。

<f:metadata>
<f:viewParam name="id" value="#{mediaGroupController.mediaGroupId}"/>
<f:viewParam name="type" value="#{mediaGroupController.type}"/>
<f:viewParam name="limit" value="#{mediaGroupController.limit}" converter="javax.faces.Integer" >
<f:validateLongRange minimum="0"/>
</f:viewParam>
</f:metadata>

如果我为所有输入有效参数,如 ?id=1&type=foo&limit=10,这将正常工作。但是,如果其中一个参数无效,例如 ?id=1&type=foo&limit=bar,id 和 type 等有效参数也会被忽略。

在这种情况下,我只想忽略 limit 参数。我怎样才能做到这一点?

最佳答案

创建一个不抛出 ConverterException 的自定义转换器,但在转换失败时只返回 null

例如

<f:viewParam name="limit" value="#{mediaGroupController.limit}" converter="limitConverter">

@FacesConverter("limitConverter")
public class LimitConverter {

@Override
public Object getAsString(FacesContext context, UIComponent component, Object value) {
return (value != null) ? String.valueOf(value) : null;
}

@Override
public Object getAsObject(FacesContext context, UIComponent component, String value) {
return (value != null && value.matches("\\d+") ? Integer.valueOf(value) : null;
}

}

关于jsf - 仅忽略 JSF 中的无效查询参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8139417/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com