我正在使用 JSF 和 Primefaces,我的问题是:
我有一个页面(page1.jsf),它接收一个带有字符串列表(空格分隔)的视图参数:
<f:metadata>
<f:viewParam name="list" value="#{bean1.list}" converter="listConverter"/>
</f:metadata>
listConverter 将字符串转换为单个单词的列表。如果我通过 url 访问该页面(例如:page1.jsf?list=word1 word2 word3")一切正常!
但现在我正在尝试使用另一个页面 (page2.jsf) 来创建该术语列表。我正在使用 Primeface 数据表,遵循以下示例: http: //www.primefaces.org/showcase/ui/datatableRowSelectionRadioCheckbox.jsf
我想让用户选择多行(复选框 Primeface 示例),然后按下一个按钮,该按钮将重定向到 page1.jsf 并将所选项目列表作为参数传递(例如,使用 Primeface 展示示例,传递一个列表所选车型)。
我正在尝试这样做:
<p:commandButton action="page1?faces-redirect=true&includeViewParams=true" >
<f:attribute name="list" value="#{bean2.convertSelectedItemsToString()}" />
</p:commandButton>
或这个:
<p:commandButton action="page1?faces-redirect=true&includeViewParams=true" >
<f:param name="list" value="#{bean2.convertSelectedItemsToString()}" />
</p:commandButton>
其中 bean2 有一个 selectedItems[] 并选择了对象。
不用说...它不起作用。
有什么帮助吗?提前致谢。