Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jsp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在标签中插入2个列表<;c:forEach>;用于同步循环列表_Java_Jsp_Spring Mvc - Fatal编程技术网

Java 在标签中插入2个列表<;c:forEach>;用于同步循环列表

Java 在标签中插入2个列表<;c:forEach>;用于同步循环列表,java,jsp,spring-mvc,Java,Jsp,Spring Mvc,我想在页面(.jsp)中插入2个列表(订单和价格),并同步循环2个列表。我只知道插入1个列表,什么是同步循环的解决方案在页面(jsp)中插入2个列表,我不知道这个问题的解决方案。谢谢大家 文件:UserController.java @RequestMapping(value="/{userName}", params = "mada", method=RequestMethod.GET) public String ordersOfUser(Model uiModel,@PathVar

我想在页面(.jsp)中插入2个列表(订单和价格),并同步循环2个列表。我只知道插入1个列表,什么是同步循环的解决方案在页面(jsp)中插入2个列表,我不知道这个问题的解决方案。谢谢大家

文件:UserController.java

@RequestMapping(value="/{userName}", params = "mada", method=RequestMethod.GET)
    public String ordersOfUser(Model uiModel,@PathVariable("userName")String userName){

        List<Order> orders = orderService.findAllWithUsername(userName);
        List<Float> prices = new ArrayList<Float>();
        for(int i=0;i<orders.size();i++){
            prices.add(orderService.countPrice(orders.get(i).getId()));
        }

        uiModel.addAttribute("orders",orderService.findAllWithUsername(userName));
        uiModel.addAttribute("prices",prices);

        return "orders/orderofuser";

    }
@RequestMapping(value=“/{userName}”,params=“mada”,method=RequestMethod.GET)
公共字符串ordersOfUser(模型uiModel,@PathVariable(“用户名”)字符串用户名){
List orders=orderService.findAllWithUsername(用户名);
标价=新的ArrayList();

对于(int i=0;i如果您在jsp上获得两个单独的订单和价格列表,则使用嵌套循环,如下所示:

<c:forEach items="${orders}" var="order">
<tr>
    <td><B>ID</B></td>
    <td>${order.id}</td>
</tr>
.
.
.
<c:forEach items="${prices}" var="price">
    <c:if test="${order.id == price.orderId}"> // check if this price is of above order
        <tr>
            <td>Price</td>
            <td>${price.value}</td> // whatever you have properties in your prices list.
        </tr>
    </c:if>
</c:forEach>
.
.
.
</c:forEach>

身份证件
${order.id}
.
.
.
//检查此价格是否高于订单价格
价格
${price.value}//价格表中的任何属性。
.
.
.

如果您在jsp上获得两个单独的订单和价格列表,请使用嵌套循环,如下所示:

<c:forEach items="${orders}" var="order">
<tr>
    <td><B>ID</B></td>
    <td>${order.id}</td>
</tr>
.
.
.
<c:forEach items="${prices}" var="price">
    <c:if test="${order.id == price.orderId}"> // check if this price is of above order
        <tr>
            <td>Price</td>
            <td>${price.value}</td> // whatever you have properties in your prices list.
        </tr>
    </c:if>
</c:forEach>
.
.
.
</c:forEach>

身份证件
${order.id}
.
.
.
//检查此价格是否高于订单价格
价格
${price.value}//价格表中的任何属性。
.
.
.

您可以在单个bean中组合订单价格,然后可以迭代包含新bean对象的列表

您可以修改Order bean类,并在其中添加price作为字段,它将如下所示:

public class Orders {


    private String id;
    private String orderDate;
    private String number;
    private String description;
    private String status;
    private String price;

  // with getters and setters

}
在order服务类的findAllWithUsername(userName);方法中,可以应用逻辑为在UserController中执行的每个订单添加价格


希望这会有所帮助。

您可以将订单价格组合在一个bean中,然后您可以迭代包含新bean对象的列表

您可以修改Order bean类,并在其中添加price作为字段,它将如下所示:

public class Orders {


    private String id;
    private String orderDate;
    private String number;
    private String description;
    private String status;
    private String price;

  // with getters and setters

}
在order服务类的findAllWithUsername(userName);方法中,可以应用逻辑为在UserController中执行的每个订单添加价格

希望这会有所帮助。

快速搜索“jsp foreach index”,您可以找到
varStatus
属性,该属性存储列表中基于0和1的索引的
索引
计数
属性

就这样做吧:

<c:forEach items="${orders}" var="order" varStatus="status">
<tr>
    <td><B>ID</B></td>
    <td>${order.id}</td>
</tr>
.
.
.
<tr>
    <td>Price</td>
    <td>${prices.get(status.index)}</td>
</tr>
</c:forEach>

身份证件
${order.id}
.
.
.
价格
${prices.get(status.index)}
快速搜索“jsp foreach index”,您可以找到
varStatus
属性,该属性存储列表中基于0和1的索引的
索引
计数
属性

就这样做吧:

<c:forEach items="${orders}" var="order" varStatus="status">
<tr>
    <td><B>ID</B></td>
    <td>${order.id}</td>
</tr>
.
.
.
<tr>
    <td>Price</td>
    <td>${prices.get(status.index)}</td>
</tr>
</c:forEach>

身份证件
${order.id}
.
.
.
价格
${prices.get(status.index)}

同步是什么意思?订单和价格之间的关系是什么?每个订单都有一个价格对不起,我的母语不是语言。我想,当循环检索订单列表时,它在同一个循环中检索价格列表。每个订单都有一个价格。谢谢,你同步是什么意思?关系是什么订单
和价格之间的关系?每个订单有一个价格对不起,我的母语不是语言。我想,当循环检索订单列表时,它在同一个循环中检索价格列表。每个订单有一个价格。谢谢!你能给我举个例子吗?谢谢!请!你能给我举个例子吗?谢谢!这意味着你如果您的价目表中没有单一价格为浮动值的价格,那么您将如何将价格与订单关联?您的价目表应包含订单id,通过该id您可以识别价格x为订单a。这意味着您的价目表中只有单一价格为浮动值的价格,那么您将如何关联价格with订单?您的价目表应包含订单id,通过该id,您可以识别价格x是订单a的价格。