能在<%= %>中使用表达式语言么?如果不能的话,那这个例子怎么弄呀?
<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()%>
<%%> 里面似乎是不能加${}的,编译后和你的意图不符合。