我有这个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变量??
答案 0 :(得分:0)
可能是因为brands.name来自brandsSelectedList,它将在您的ActionSerlvet重写方法中设置,而nam是在JSP中定义的本地变量。 jsp中定义的变量可能无法在表达式langauge代码中访问。 我还没试过,但是通过JSP的反编译器查看相应的类文件,看看那里发生了什么