request.setattribute()用法
时间: 2023-04-30 12:02:10 浏览: 347
`request.setAttribute(name, value)` 方法用于在请求对象中存储键值对数据。参数 "name" 是键,参数 "value" 是值。在 Servlet 中,你可以使用这个方法将一些数据存储到请求对象中,然后在 JSP 页面中使用这些数据。
示例:
```java
request.setAttribute("name", "John");
```
在 JSP 页面中,你可以使用如下语句访问该数据:
```jsp
<%= request.getAttribute("name") %>
```
或者
```jsp
${name}
```
上面的 JSP 语句将会把名字John 渲染到页面上
需要注意的是,使用 `request.setAttribute()` 方法设置的属性是在请求对象的生命周期内有效的。如果你希望在不同请求之间共享数据,可以使用 `session.setAttribute()` 方法。
相关问题
private void indexInfo(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { List<Category> cates = this.cateService.findAllCate(10); List<Goods> starGoodes = this.goodsService.findGoodsByState(4, 5); List<Goods> homeGoodes = this.goodsService.findGoodsByCate(3, 8); List<Goods> smartGoodes = this.goodsService.findGoodsByCate(5, 5); List<Goods> hotGoodes = this.goodsService.findGoodsByState(1, 4); String info = CookieUtils.getCookieInfo(request); List<Goods> tjGoodes = null; if ("".equals(info)) { tjGoodes = this.goodsService.findGoodsByState(2, 5); } else { tjGoodes = this.goodsService.findGoodsBySearch(info, 5); } request.setAttribute("cates", cates); request.setAttribute("starGoodes", starGoodes); request.setAttribute("homeGoodes", homeGoodes); request.setAttribute("smartGoodes", smartGoodes); request.setAttribute("hotGoodes", hotGoodes); request.setAttribute("tjGoodes", tjGoodes); request.getRequestDispatcher("index.jsp").forward(request, response); }
这段代码是一个Java Servlet的方法,它接收一个HTTP请求和一个HTTP响应,并向请求中添加一些属性,然后将请求转发到index.jsp页面。在这个方法中,它首先使用cateService查找所有类别,然后使用goodsService查找状态为4和5的商品,使用goodsService查找类别为3和8的商品,使用goodsService查找类别为5和5的商品和状态为1和4的商品,根据请求中的Cookie信息查找推荐商品。最后,将所有查找到的商品和类别添加到请求属性中,然后将请求转发到index.jsp页面。
request.setattribute和session.setattribute
`request.setAttribute()` 和 `session.setAttribute()` 都是在 Java Web 中用于存储数据的方法。
`request.setAttribute()` 存储的数据只在当前请求中有效,请求结束后数据就会被销毁。
`session.setAttribute()` 存储的数据在整个会话期间都有效,即使用户关闭了浏览器或者离开了网站,数据也会一直保存在服务器上,直到会话结束或者超时。
通常来说,如果需要在多个请求之间共享数据,就应该使用 `session.setAttribute()`,如果只需要在当前请求中使用数据,则使用 `request.setAttribute()`。
阅读全文