我有一个由 <f:viewParam>
驱动的搜索屏幕。我正在尝试实现它以便单个 <f:viewParam>
可以取多个值。
我认为正确的URL应该是这样的:
<url>?state=COMPLETE&state=PENDING
XHTML部分如下所示:
<f:metadata>
<f:viewParam name="state"
value="#{backingBean.state}"
converter="#{stateNameConverter}" />
</f:metadata>
我已在backingBean上尝试了以下两个方法签名:
public void setState(State... state)
希望JSF实现可以为这些值构建一个数组,并将其设置在后台bean上。但是,JSF实现失败,报错说它无法将枚举转换为枚举数组。
public void setState(State state)
我曾以为JSF的实现会按照在URL中找到它们的顺序设置转换后的值,但事实上只设置了第一个值。
stateNameConverter
用于String和枚举值之间的转换。
在JSF 2中,<f:viewParam>
是否支持多个值?