Java JSTL不包含

Java JSTL不包含,java,javascript,xhtml,Java,Javascript,Xhtml,早上好。这是我第一次决定问一个问题 我正在处理一个xhtml,并希望设置以下条件: <c:if test="#{fichaTecnicaBean.seccionesSeleccionadas.contains("text")}"> 包含或不包含在显示中,但不适用于包含。我用javascript尝试过,但都没有进入函数: <c:if test="javascript:find('text');"> 有什么解决方案吗?JSTL标记在服务器端进行评估,所以在客户端执行的ja

早上好。这是我第一次决定问一个问题

我正在处理一个xhtml,并希望设置以下条件:

<c:if test="#{fichaTecnicaBean.seccionesSeleccionadas.contains("text")}">
包含或不包含在显示中,但不适用于包含。我用javascript尝试过,但都没有进入函数:

<c:if test="javascript:find('text');">

有什么解决方案吗?

JSTL标记在服务器端进行评估,所以在客户端执行的javascript不能在test属性内工作

尝试使用$而不是我认为更适合您的情况,以获取有关$差异的更多信息,并在本文中看到答案

此外,在一些jsp/servlet旧版本中,调用方法在JSTL上不起作用,您只能使用对象属性,这可能就是.contains不起作用的原因。因此,由于fichaTecnicaBean.seccionesSeleccionadas是一个列表,您可以尝试使用并比较它们的元素,如下所示:

<c:forEach items="${fichaTecnicaBean.seccionesSeleccionadas}" var="seccion"> 
    <c:if test ="${seccion == 'text'} ">
    ...
    </c:if>
</c:forEach>

希望这有帮助,

谢谢你的帮助,我没有解决我的问题,因为我遇到了错误。tomcat向我显示了以下错误:javax.faces.view.facelets.FaceletException:error-Parsing/views/fichateca/listacomponents.xhtml:error-tracked[line:18]El-contenido de los elementos de-constandar de-marcadores o-datos de-carácharacter con un-format-corrector。在com.sun.faces.facelets.compiler.SAXCompiler.doCompile,我一开始也试着把它们放进去,但没有认出我@IgnacioUnzueta哦,我不知道你在处理一个列表,我想现在我的答案更准确了: