请问c标签 if 可以引用到变量作比较判断吗?

吉叔说Java 2010-01-21 11:41:07

<%
int id = 20;
%>

<c:forEach var="product" items="${productList}">

<c:if test="${product.pid==我上面定义的变量的值}">是的</c:if>

</c:forEach>


如上所示,我用标签做了个循环,然后想拿每循环出来的对象的id 和我在页面定义的变量作一个比较,但好像标签里引用不到变量的值。该怎么样才能在比较到?
...全文
917 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
qwest1017 2011-10-11
  • 打赏
  • 举报
回复
顶楼上,围观
wingson_shen 2011-10-11
  • 打赏
  • 举报
回复
用<c:set>定义变量或者request.setAttribute("", "")
zzy3696 2011-10-11
  • 打赏
  • 举报
回复
围观111
lin364653705 2010-01-21
  • 打赏
  • 举报
回复
即使使用JSTL标签的时候,那么在EL表达式都应该统一,以便达到更好的交互!

你即然使用了<% int i=20;%> 这种来定义变量,那你后面也应该统一下吧
<% for(Product product:productList){
if(product.getId()==i){

}
} %>

或者像楼上一样,用<c:set>来定义变量
眼神eye 2010-01-21
  • 打赏
  • 举报
回复
就是存在jsp的四个内置作用域中就OK了,el都可以从小到大的范围去检索你的值,然后通过反射获取
zjhlht 2010-01-21
  • 打赏
  • 举报
回复
其实定义变量又要和JSTL进行互相引用,应该用<c:set></c:set>这个标签来定义变量!

如果非要用JAVA来定义,那你也可以试试,将定义好的变量int id = 20;放入page属性范围,然后用EL取,这样看行不行!
眼神eye 2010-01-21
  • 打赏
  • 举报
回复
你要把上面的变量存在作用域中才能获取到

67,538

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧