无法比较JSP文件中的两个字符串

时间:2016-02-26 10:31:04

标签: java jquery ajax jsp

我有这个Jsp文件

<SELECT name="brandsFrom" onchange="as()">
    <c:forEach items="${brandsSelectedList}" var="brands">
        <c:if test="${brands.name == nam}">
        <option value="${brands.id}">${brands.id}</option>
        </c:if>
    </c:forEach>
</SELECT>

我在此代码之上声明了nam,如

<%!
String nam;
%>
<%
nam=request.getParameter("name"); 
out.println("value in the string ="+nam+"+");
%>

当我使用

<c:if test="${brands.name == nam}">

代码不朗姆酒,而当我使用这样的东西时

<c:if test="${brands.name == 'Denim'}">

代码运行。为什么我无法使用nam变量??

1 个答案:

答案 0 :(得分:0)

可能是因为brands.name来自brandsSelectedList,它将在您的ActionSerlvet重写方法中设置,而nam是在JSP中定义的本地变量。 jsp中定义的变量可能无法在表达式langauge代码中访问。 我还没试过,但是通过JSP的反编译器查看相应的类文件,看看那里发生了什么