日期:2014-05-18  浏览次数:20679 次

能在<%= %>中使用表达式语言么?如果不能的话,那这个例子怎么弄呀?
<c:forEach   var= "pro "   items= "${product} "   varStatus= "status ">
    <tr>
    <td> ${pro.shop_id} </td>
        <td> <a   href= "editproduct_do.jsp?id=${pro.shop_id} "> ${pro.shop_name} </a> </td>
        <td> ${pro.shop_date} </td>
        <td> ${pro.shop_price} </td>
        <td> <%=channelAction.getChannelIdName(String.valueOf())   %> </td> //就在这行,在String.valueOf()里面要传入一个值
        <td> <a   href= "editproduct_do.jsp?id=${pro.shop_id} "> 修改 </a> </td>
        <td> <a   href= "delproduct_do.jsp?id=${pro.shop_id} "> 删除 </a> </td>
    </tr>
    </c:forEach>

好像不能这样传过去,那应该怎么传?
我要得到当前循环的product里面的一个值,
头部的代码是
<jsp:useBean   id= "productAction "   scope= "page "   class= "com.hmilyld.bean.ProductAction "   />
<jsp:useBean   id= "channelAction "   scope= "page "   class= "com.hmilyld.bean.ChannelAction "   />
<%
Collection   product   =   productAction.getProduct();
session.setAttribute( "product ",product);
  %>

这样的话应该怎么给搞进去?要循环出来分类的名称。

------解决方案--------------------
<%= %> 等号后面是java的表达式,你想一想java中能不能用表达式语言就明白了~
同样的道理 <% %> 里面放置的是java代码,java代码中能用的这里才能用~
------解决方案--------------------
用表达式打印输出到JSP页面的上,应该是
<c:out value= "${product} " />
------解决方案--------------------
<%
object aa = channelAction.getChannelIdName(String.valueOf(pro.channel_id));
pageContext.setAttribute( "aa ",aa);
%>
${aa}
------解决方案--------------------
<td> <%=channelAction.getChannelIdName(String.valueOf()) %> </td> //就在这行,在String.valueOf()里面要传入一个值

===========================================

试试这个
<%
// 这里把Object换成你的pro对象的实际类型
Object pro = pageContext.getAttribute( "pro ");
%>

<td> <%=channelAction.getChannelIdName(String.valueOf(pro.getXXXXX())) %> </td> //
------解决方案--------------------
继续关注
<td> <%=channelAction.getChannelIdName(String.valueOf(%> ${**************} <%)) %> </td>
试试这样呢?呵呵,表达式里面是JAVA代码,那表达式外头就可以用EL表达式了嘛,嘻嘻
------解决方案--------------------
<%
先用session.getAttribute( "product ");
然后得到pro.getChannel_id()
%>
最后 <%=channelAction.getChannelIdName(String.valueOf()%>
<%%> 里面似乎是不能加${}的,编译后和你的意图不符合。