html中使用Thymeleaf绘制销售单表格自动生成行号,完整代码
时间: 2024-06-09 21:07:00 浏览: 252
以下是一个使用Thymeleaf绘制销售单表格并自动生成行号的完整代码示例:
HTML部分:
```
<table>
<thead>
<tr>
<th>#</th>
<th>商品名称</th>
<th>单价</th>
<th>数量</th>
<th>小计</th>
</tr>
</thead>
<tbody>
<tr th:each="item, index : ${items}">
<td th:text="${index.index + 1}"></td>
<td th:text="${item.name}"></td>
<td th:text="${item.price}"></td>
<td th:text="${item.quantity}"></td>
<td th:text="${item.price * item.quantity}"></td>
</tr>
</tbody>
</table>
```
在这个示例中,我们使用了Thymeleaf的`th:each`属性来迭代`items`列表,并使用`index.index`来获取当前迭代项的索引值。我们将该值加1并使用`th:text`属性将其设置为行号单元格的文本。
Java部分:
```
@Controller
public class SalesController {
@GetMapping("/sales")
public String sales(Model model) {
List<Item> items = new ArrayList<>();
items.add(new Item("商品1", 10, 2));
items.add(new Item("商品2", 20, 1));
items.add(new Item("商品3", 5, 3));
model.addAttribute("items", items);
return "sales";
}
public static class Item {
private String name;
private int price;
private int quantity;
public Item(String name, int price, int quantity) {
this.name = name;
this.price = price;
this.quantity = quantity;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getPrice() {
return price;
}
public void setPrice(int price) {
this.price = price;
}
public int getQuantity() {
return quantity;
}
public void setQuantity(int quantity) {
this.quantity = quantity;
}
}
}
```
在这个示例中,我们创建了一个包含`name`、`price`和`quantity`属性的`Item`类,用于表示销售单中的商品。我们在`SalesController`类中创建了一个包含三个`Item`对象的列表,并将其添加到模型中。在`sales.html`中,我们使用该模型数据来绘制销售单表格。
阅读全文