在我的JSF文件中,我有一个如下所示的命令按钮:
'< h:commandButton value =“开始”。行动= '#{myBean.startIt}'/>
startIt()是一个没有参数的方法,它有一个字符串的硬编码ArrayList。
我真正想做的是将可变数量的字符串传递给startIt()和 摆脱硬编码。
如果我尝试使用“vararg”语法,例如
public void startIt(String ... myStrings){ ...}
当我使用偶数单个字符串调用函数时出现以下错误:
错误的参数数量错误的参数数量 class java.lang.IllegalArgumentException
关于如何让varargs与JSF 2一起工作的任何想法,或者对此失败,我们将非常感谢另一种解决潜在问题的方法。
感谢。
答案 0 :(得分:0)
通过在f:param元素中指定值,然后在辅助bean中重新执行该值,可以实现此方法之一:
<h:commandLink actionListener="#{myBean.startIt}">
<f:param name="request" value="AnyValue"/>
</h:commandLink>
支持Bean代码:
String request= (String)FacesContext.getCurrentInstance().getExternalContext().getRequestParameterMap().get("request");