我有以下JSF代码片段:
<p:selectManyMenu>
<f:selectItems value="#{templateBean.getTemplates(TemplateType.TEXTBLOCK)}"
</p:selectManyMenu>如何将enum-Parameter传递给getTemplates() -function?
后台bean具有以下功能:
public List<Template> getTemplates(TemplateType templateType)TemplateType是一个enum
public enum TemplateType {
ANSWER,
TEXTBLOCK;
}唯一的方法,在我的脑海中,是做另一个函数,返回我的实际选项的enum-type,但这似乎是某种无意义的。我还试图给enum-Class一个Scope,但我无法访问它。
发布于 2015-02-19 13:08:39
您可以将枚举值作为字符串传递。艾尔对此有着内在的强制。
<f:selectItems value="#{templateBean.getTemplates('TEXTBLOCK')}" />通常,只有当您希望视图中有所有枚举值时,<o:importConstants>才是方便的,例如,如下面所示的下拉项:
<f:selectItems value="#{TemplateType}" />发布于 2015-02-19 12:48:34
如果你想要像那样使用枚举(TemplateType.TEXTBLOCK),你应该尝试O:进口商 (由全貌)
将以下内容放在您的页面上
<o:importConstants type="com.my.package.name.TemplateType" />那就像这样用吧
<p:selectManyMenu>
<f:selectItems value="#{templateBean.getTemplates(TemplateType.TEXTBLOCK)}"
</p:selectManyMenu>当然,您可以始终使用枚举(纯文本),如下所示:
value="#{templateBean.getTemplates('TEXTBLOCK')}"https://stackoverflow.com/questions/28606770
复制相似问题