以上是jsp页面的代码,我是通过将从数据库获取到的所有商品封装到一个list集合中,使用request域存储数据,在jsp页面使用el获取的所有商品。我现在能否在这个基础上面实现点击商品,进入到本商品的详情界面,页面已经写好了。我自己的实现逻辑是:通过某个域存储商品的id信息,在servlet中获取到,去数据库中查找这件商品的所有信息,这个商品存这储到域空间中,在新的页面通过el获取,但是目前我无法实现将这个商品的id信息传存储到域空间中。我不知道这样能不能实现,是不是我的想法有错误,希望大神帮个忙!!!
<c:forEach items="${productList }" var="product">
<div class="col-md-2" style="height:250px">
<a href="product_info.htm">
<img src="${pageContext.request.contextPath }/${product.pimage }" width="170" height="170" style="display: inline-block;">
</a>
<p>
<a href="/WEB18/productOne" style='color: green'>${product.pname }</a>
</p>
<p>
<font color="#FF0000">商城价:¥${product.shop_price }</font>
</p>
</div>
</c:forEach>
上面是所有商品的jsp页面的代码。
<a href="product_info.htm?product_id=1">
像这样在跳转链接添加参数product_id
,商品详情页通过request.getParameter("product_id");
获取就可以了
思路就是这样的,没错,但是你的链接上要加上ID参数才能传到获取详情的servlet呀,把/WEB18/prodeuctOne改成/WEB18/prodeuctOne?product=xxx
使用setAttribute设置变量,供其他页面使用
其他页面直接使用${obj.field}来取值
例如:
request.setAttribute("para","para value");
<input id="id" value="${para}"></input>
https://wenku.baidu.com/course/study/c4443bea81c758f5f61f6794
你要在servlet中配置正确的地址
可以使用ajax,将id发送到该servlet中
可以使用url地址传参,或者到servlet里进行跳转
自己写对应的地址就可以
如果只是要显示明细的话 你可以用form填充就可以了 ,实现步骤是先拿到你当前点击的这个商品,然后通过load()函数填充明细,这样的话减少访问数据库压力(注:前提是明细要的数据已经在你点击的这个对象中)
你可以在图片中写一个点击事件,当你点击它时就会跳转并将商品的编号提交上去
ajax可以啊,直接让后台解决
在你的这个地址上 加上商品id参数,,后台获取到该product_id的值,通过数据库去查询,转发到相应的详情页面,通过el表达式显示就可以了。