jsp 用el表达式赋值不成功

<%
boolean check=false;

int id1=u_idUser;
int id2=0;
%>
<c_rt:set var="id2" value="${userShow.u_id}"/>
<%
System.out.println("2:"+id2);
FriendDao friendDao = new FriendDao();

int result = friendDao.isFriend(id1,id2);

System.out.println("1:"+id1+"result="+result);
%>
${userShow.u_id}
.......

这只是部分代码,输出显示id2依然为0,说明set赋值没有成功,而最后一行直接显示${userShow.u_id}是有值的,要如何把${userShow.u_id}的值赋给id2。。。。新手求助
<%@ taglib uri="http://java.sun.com/jstl/core_rt" prefix="c_rt"%>
补充了

第1个回答  2015-07-06
你这句话<c_rt:set var="id2" value="${userShow.u_id}"/>,在没有声明scope的情况下,默认是将名称为“id2”的属性存入page域,翻译成Servlet就是:
pageContext.setAttribute("id2", userShow.u_id);
它表示在page域中有个名为id2的属性,并被赋值为userShow.u_id,所以与你的int型的id2变量是没有关系的,
你要想为int 型的id2赋值,只能在java代码中直接赋值,不要跟el表达式混在一起
第2个回答  2015-07-06
<%
id2 = u_id;
%>追问

u_id的值不是当前jsp页面的,需要${}才取得出

追答



你这个c_rt引入没看下

相似回答