gpt4 book ai didi

java - 如何在jsp中打印列表列表和其他类型的数据

转载 作者:行者123 更新时间:2023-12-01 18:01:42 25 4
gpt4 key购买 nike

我正在尝试在 spring mvc 中从数据库中获取数据,这是我用于获取数据的代码

@Override
public List getOrderDetail(Integer shop_id) {
// TODO Auto-generated method stub
SQLQuery query = sessionFactory.getCurrentSession().createSQLQuery(
"SELECT order_id,shop_id,delivery_address,total_amount FROM master_order WHERE shop_id =" + shop_id);

SQLQuery query1 = sessionFactory.getCurrentSession().createSQLQuery(
"SELECT itm.image,itm.name,itm.brand,odr.quantity,itm.offerprice,(itm.offerprice*odr.quantity) AS Total,modr.cust_id FROM master_order modr\r\n"
+ "INNER JOIN tblorder odr ON modr.order_id = odr.order_id INNER JOIN item itm on odr.item_id = itm.item_id WHERE modr.shop_id ="+shop_id);

query.setResultTransformer(Criteria.ALIAS_TO_ENTITY_MAP);
query1.setResultTransformer(Criteria.ALIAS_TO_ENTITY_MAP);

List results = query.list();
List results1 = query1.list();

results.add(results1);

System.out.println(results);

return results;
}

上面的System.out.println(results);语句给出以下输出

[{shop_id=1, delivery_address=1, abc, xyz, aaa, USA, order_id=6, total_amount=1800}, [{image=Screenshot (19).png, quantity=8, Total=800, name=DhruvRajkotiya, offerprice=100, brand=gsgsrgs, cust_id=2}, {image=Screenshot (19).png, quantity=10, Total=1000, name=qwe, offerprice=100, brand=asdf, cust_id=2}, {image=Screenshot (19).png, quantity=1, Total=100, name=ewq, offerprice=100, brand=gsgsrgs, cust_id=2}]]

我想在jsp页面中打印order_id以及{image=Screenshot (19).png,Quantity=10,Total=1000,name=qwe,offerprice=100,brand=asdf,cust_id=2}

这是我的 Controller 代码

@RequestMapping(value = "/notifications", method = RequestMethod.GET)
public String notifications(Model model, HttpServletRequest request) {
if (request.getSession().getAttribute("shopkeeper") == null) {
return "redirect:login";

} else {
Shopkeeper sp = (Shopkeeper) request.getSession().getAttribute("shopkeeper");
model.addAttribute("order", shopkeeperService_shopkeeper.getOrderDetail(sp.getSk_id()));
return "shopkeeper/notifications";
}
}

这是我的jsp代码

<div class="row">
<c:forEach items="${ order}" var="order">
<div class="col-lg-12">
<div class="card">
<div class="card-header" style="padding-bottom: 5px;">
<h6># ${order.shop_id }</h6>
</div>
<div class="card-body">
<div class="col-lg-2" style="float: left;">Image</div>
<div class="col-lg-2" style="float: left;">Product name</div>
<div class="col-lg-2" style="float: left;">Product brand
</div>
<div class="col-lg-1" style="float: left;">Quantity</div>
<div class="col-lg-1" style="float: left;">Unit Price</div>
<div class="col-lg-1" style="float: left;">Total</div>
<div class="col-lg-3" style="float: left;">Approve of
request</div>
</div>
<div class="card-body">
<div class="col-lg-6" style="float: left;">Delivery
Address</div>
<div class="col-lg-6" style="float: left;">Total Amount</div>
</div>
</div>
</div>
</c:forEach>
</div>

我要打印 here is the design i want to create

我的问题概念是 order_id、address、total_amount 一次和多次购买的商品,可以是一个或多个

如何打印

最佳答案

将一些数据“发送”到 JSP 页面的方法是设置并传递请求(或 session )属性。

从处理当前请求的 Servlet 中,在 doGet() 或 doPost() 方法(取决于所使用的 HTTP 请求方法)中,您可以执行以下操作:

request.setAttribute("attributeName", attributeObject);
request.getRequestDispatcher("<name_of_your_page>.jsp").forward(request, response);

其中 attributeName是一个字符串,它将被视为对 attributeObject 的引用在 JSP 页面上。

然后在 JSP 页面上,您可以使用 JSTL 库和表达式语言(有关 JSTL 的信息请参阅 this tutorial 以及有关 JSP 和 EL 的 this one )。要迭代已作为请求属性传递的列表,请使用 <c:forEach>来自 JSTL 的标签。

首先,您需要通过将此行放在 JSP 顶部来导入核心 JSTL 标记:

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>

另一个有用的语句放在后者下面是:

<%@ page isELIgnored="false" %>

它告诉您的网络浏览器评估以 EL 编写的表达式,而不是将它们作为纯文本包含在 HTML 正文中。

假设您使用字符串“orders”将集合集命名为属性,<c:forEach>标签的使用看起来与下面类似。您可能希望以不同的方式构造它,并且字段名称(例如 order.order_id )在您的情况下可能会有所不同,但我认为您可以明白这个想法。

<c:forEach item="order" items="${requestScope.orders}">
<p>${order.order_id}</p>
<p>${order.delivery_address}</p>
...
</c:forEach>

关于java - 如何在jsp中打印列表列表和其他类型的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60617728/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com