Java 使用JSF1.x时,EL可以从集合中读取<&燃气轮机;找到一个价值?

Java 使用JSF1.x时,EL可以从集合中读取<&燃气轮机;找到一个价值?,java,jsf,el,jsf-1.2,Java,Jsf,El,Jsf 1.2,我有以下xhtml: <s:fragment rendered="#{selectCat.categoryTypes.contains('unclickable')}"> <h:outputText value="DONT CLICK #{selectCat.webName}" /> </s:fragment> <s:fragment rendered="#{selectCat.categoryTypes eq null}">

我有以下xhtml:

<s:fragment
    rendered="#{selectCat.categoryTypes.contains('unclickable')}">
    <h:outputText value="DONT CLICK #{selectCat.webName}" />
</s:fragment> 

<s:fragment rendered="#{selectCat.categoryTypes eq null}">
    <a href="/category/#{_category.fullName}"> #{selectCat.webName}</a>
</s:fragment>

我在试着看这个类型是否不可读取

后端bean读取:

@ManyToMany(fetch = FetchType.LAZY, targetEntity = C_Type.class)
@JoinTable(name = "Category_Type", joinColumns = @JoinColumn(name = "CategoryId"), inverseJoinColumns = @JoinColumn(name = "TypeId"))
@XmlTransient
public Set<C_Type> getCategoryTypes() {
    for (C_Type cc : categoryTypes) {
        System.out.println("=============="+cc.getC_type()+"==============");
    }

    return categoryTypes;
}
@ManyToMany(fetch=FetchType.LAZY,targetEntity=C_Type.class)
@JoinTable(name=“Category\u Type”,joinColumns=@JoinColumn(name=“CategoryId”),inverseJoinColumns=@JoinColumn(name=“TypeId”))
@XmlTransient
公共集getCategoryTypes(){
对于(C_类型cc:categoryTypes){
System.out.println(“======================”+cc.getC_type()+“===================”);
}
返回类别类型;
}

我做错了什么,或者我需要做什么才能将链接显示为不可链接?在前端?谢谢

对于
jsf1.x

#{selectCat.categoryTypes.contains('unclickable')}
现在,对于解决方案,请使用下面的指针尝试自定义
taglib
函数

web.xml


facelets.LIBRARIES
指向自定义标签库的路径/WEB-INF/tomahawk.taglib.xml;
将标记库中的方法定义为:


http://www.client.com/product
...
包含
com.XXX.XXX.XXX.JavaClass
Boolean包含(java.util.Set、java.lang.String)
...
com.XXX.XXX.XXX.JavaClass
中的java方法定义为

public static Boolean contains(Set setOfObjects, String value){
    //... Assuming you are checking where value, a string, is available in Set or not    
}
在XHTML中声明名称空间

xmlns:g="http://www.client.com/product"
最后用xhtml调用它



希望对你有帮助

如果你需要链接为“不可链接”(让我说,相当奇怪),将其显示为文本,而不是链接。是的,我们首先检查类别类型,如果不是链接,则将其显示为文本。否则我们把它连接起来作为一个链接。但是如何读取返回的集合?
C\u Type
不是
字符串
。是什么让你认为它们会在对方的
equals()
上返回true?给定
标记,OP使用的是JBoss Seam,因此也包含JBoss EL。这与JSF1.2配合使用效果很好。另请参见,您的困惑是由于假设EL中的调用方法在某种程度上特定于JSF2.0而引起的。这是不真实的。它特定于EL2.2(和JBossEL)。