Jsp EL自定义函数,如何声明HashSet<;整数>;在<;函数签名>;?
我正在寻找一个在EL中具有自定义函数的解决方案 下面是.tld文件:Jsp EL自定义函数,如何声明HashSet<;整数>;在<;函数签名>;?,jsp,generics,el,taglib,Jsp,Generics,El,Taglib,我正在寻找一个在EL中具有自定义函数的解决方案 下面是.tld文件: <function> <description> Retourne vrai si l'élement est contenu dans la collection, faux sinon. </description> <name>isIn</name> <function-class>com.plebic
<function>
<description>
Retourne vrai si l'élement est contenu dans la collection, faux sinon.
</description>
<name>isIn</name>
<function-class>com.plebicom.librairies.ebuyclub.partenaire.Partenaire</function-class>
<function-signature>
boolean isIn(HashSet<Integer> partenairesExclus, int idPart)
</function-signature>
</function>
public static boolean isIn(HashSet<Integer> partenairesExclus, int idPart) {
if(partenairesExclus.contains(idPart)) {
return true;
}
return false;
}
重温收藏中的所有元素,仿制西农。
伊辛
com.plebicom.libraries.ebuyclub.partenaire.partenaire
布尔isIn(哈希集partenairesclus,int-idPart)
然后,.java文件:
<function>
<description>
Retourne vrai si l'élement est contenu dans la collection, faux sinon.
</description>
<name>isIn</name>
<function-class>com.plebicom.librairies.ebuyclub.partenaire.Partenaire</function-class>
<function-signature>
boolean isIn(HashSet<Integer> partenairesExclus, int idPart)
</function-signature>
</function>
public static boolean isIn(HashSet<Integer> partenairesExclus, int idPart) {
if(partenairesExclus.contains(idPart)) {
return true;
}
return false;
}
publicstaticbooleanisin(HashSet partenairesExclus,int-idPart){
if(partenairesclus.contains(idPart)){
返回true;
}
返回false;
}
当我试图编译它时,出现了一个错误:
缺少标记“”
因此,我尝试使用>和<而不是“”。但这是行不通的
也许有人知道解决办法
提前,谢谢 taglib中的函数签名首先不支持泛型。你可以安全地把它挡在外面 我推测您可能错误地认为声明泛型类型是正确的解决方案的具体问题是找不到函数。但这实际上是因为您没有按FQN(完全限定名)声明类,因此包含了包。换句话说,您必须将
HashSet
声明为java.util.HashSet
,并省略参数名称
以下是正确的声明:
<function-signature>
boolean isIn(java.util.HashSet, int)
</function-signature>
布尔isIn(java.util.HashSet,int)
不确定您是否在tld定义中指定了UTF-8字符集它适合我。请说明您的设置和环境与默认设置和当前可用版本有何不同。[EBC]-2016-07-22 14:33:44128错误操作BeanSupport:108-org.apache.jasper.jaspereException:在TLD中为函数fnc:isIn的方法签名中指定的类java.util.HashSet partenaireExclus找不到。
我猜我的环境是默认环境。对,您还包括了参数变量名。您不应该在方法签名中这样做。很抱歉,我没有早点发现这个错误,我已经更新了这个问题的答案。