jsp页面中信息并未因id值改变而改变的问题

129find 2009-03-19 09:36:50



这个送礼的按扭和点击按钮弹出的送礼的那个层同在一个页面!现在做的效果是点击按钮就在层中显示该礼物的信息!
<a href="javascript:;" onclick="show2( <%=gsid%>)" id="goods"> <img src="images/present/as1.gif" /> </a>这是送礼按纽,点击按钮时就弹出一个送礼的层,同时把id传过去,然后根据id在层中获取相对应的礼物信息
代码如下:
<div class="adetail">
<table width="100%" cellspacing="0" cellpadding="0">
<%
String goodsid="";
String goodsname="";
String goodsimage="";
int goodsmoney=0;
if(request.getParameter("giftid")==null)
{
goodsid="1";

}else
{
goodsid=request.getParameter("giftid");
}
db.executeQuery("getGoodsInfo","SELECT goodsname,goodsmoney,goodsimage FROM goods_info WHERE goodsid='"+goodsid+"'");
while(db.next("getGoodsInfo"))
{
goodsname=db.getString("getGoodsInfo","goodsname");
goodsimage=db.getString("getGoodsInfo","goodsimage");
goodsmoney=db.getInt("getGoodsInfo","goodsmoney");
out.print("礼物名是"+goodsname);
}
%>
<tr>
<td width="33%" rowspan="3" align="center"> <img src=" <%=basePath+goodsimage %>" /> </td>
<td width="67%" class="pre_detail">礼物: <%=goodsname%> </td>
</tr>
<tr>
</table>
</div>

因为这个层和按钮在同一个页面,但没有点击按钮时id并没有传过去,所以
if(request.getParameter("giftid")==null)
{
goodsid="1";

}
但问题是当我点机按钮时传过去了id值比如传过去为2或3的时候,页面却依然显示id为1的礼物信息!层中的礼物信息并没有因为id值的改变而改变....
急!
...全文
76 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
129find 2009-03-19
  • 打赏
  • 举报
回复
是的,request.getParameter("giftid")不为空,能正确取出传过来的值的时候,不管传过来的值为多少,一直都执行goodsi=1的信息
kingshigang 2009-03-19
  • 打赏
  • 举报
回复
是不是参数获取错误
if(request.getParameter("giftid")==null)
{
goodsid="1";

}
一直执行了这个代码?
129find 2009-03-19
  • 打赏
  • 举报
回复
db.executeQuery("getGoodsInfo","SELECT goodsname,goodsmoney,goodsimage FROM goods_info WHERE goodsid='"+goodsid+"'");
while(db.next("getGoodsInfo"))
{
goodsname=db.getString("getGoodsInfo","goodsname");
goodsimage=db.getString("getGoodsInfo","goodsimage");
goodsmoney=db.getInt("getGoodsInfo","goodsmoney");
out.print("礼物名是"+goodsname);
}
当我goodsid为1的时out.print("礼物名是"+goodsname); 可以正确输出,同时我数据库中存在goodsid为2的数据!但就是我把2值传过去的时候out.print("礼物名是"+goodsname)依旧打印的是goodsid为1的值,无法显示goodsid为2的值!而且值已经确定传过去了。。。
白夜 2009-03-19
  • 打赏
  • 举报
回复
应该是数据库离得条件不符合导致循环条件不成立!!!
kokobox 2009-03-19
  • 打赏
  • 举报
回复
即使你传递过去了

while(db.next("getGoodsInfo"))
{
goodsname=db.getString("getGoodsInfo","goodsname");
goodsimage=db.getString("getGoodsInfo","goodsimage");
goodsmoney=db.getInt("getGoodsInfo","goodsmoney");
out.print("礼物名是"+goodsname);
}

while的条件可能不成立,所以没有执行到out.print.....

所以礼物可能没有改变。

你去看一下数据库中是否有符合条件的数据

129find 2009-03-19
  • 打赏
  • 举报
回复
代码修改后出现如下效果:


<%
String goodsid="";
String goodsname="";
String goodsimage="";
int goodsmoney=0;
if(request.getParameter("giftid")==null)
{
goodsid="1";

}else
{
goodsid=request.getParameter("giftid");
}
db.executeQuery("getGoodsInfo","SELECT goodsname,goodsmoney,goodsimage FROM goods_info WHERE goodsid='"+goodsid+"'");
if(db.next("getGoodsInfo"))
{
goodsname=db.getString("getGoodsInfo","goodsname");
goodsimage=db.getString("getGoodsInfo","goodsimage");
goodsmoney=db.getInt("getGoodsInfo","goodsmoney");

}
out.print("礼物名是"+goodsname);
out.print("礼物id是"+request.getParameter("giftid"));
System.out.print("礼物id是"+request.getParameter("giftid"));
%>


out.print("礼物id是"+request.getParameter("giftid"));-----页面显示"礼物id为null"
System.out.print("礼物id是"+request.getParameter("giftid"));-----打印出效果:礼物id是null礼物id是4

晕拉!到底什么原因!崩溃!
我现在需要传id过去后可以正确显示对应id 的礼物信息!。。。。。

81,077

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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