如何在百里香叶中执行两种不同数据类型的算术运算?

时间:2017-11-02 06:04:20

标签: spring spring-mvc thymeleaf spring-el

我有一段HTML,我需要使用thymeleaf将两个值相乘(或执行算术运算)。

假设我的pricedoublequantityinteger

这是我的示例代码:

<fieldset class="form-inline" disabled >
    <label for= "prodAmount">AMOUNT:  </label>
    <input type="number" class="form-control" th:text="${#aggregates.sum(product.![price * qty])}">
</fieldset>

这是我得到的错误:

Exception evaluating SpringEL expression: "#aggregates.sum(product.![price * qty])"

此外,我还想询问当有两个或更多值时如何执行此操作。

这是我的html表单

<div class="container">
  <div class="row">

    <div class="col-lg-4 col-sm-12 col-xs-12">
      <form th:action="@{/product/product-list}" method="post" th:object="${productEntity}">
        <input type="hidden" th:field="*{pid}" th:value="${pid}" >
        <fieldset class="form-group">
          <label for="product_name">Product Name</label>
          <input type="text" class="form-control" th:field="*{pName}" th:value="${pName}">
        </fieldset>
        <fieldset class="form-group">
          <label for="price">Price</label>
          <input type="number" class="form-control" th:field="*{price}" th:value="${price}" placeholder="0">
        </fieldset>
        <fieldset class="form-group">
          <label for="pQty">Quantity</label>
          <input type="number" class="form-control" th:field="*{qty}" th:value="${qty}" placeholder = "0">
        </fieldset>
        <fieldset class="form-group">
          <label for="status">Status</label>
          <select class="form-control" id="select_status" th:field="*{status}" th:value="${status}">
            <option value="0">AVAILABLE</option>
            <option value ="1">NOT AVAILABLE</option>
          </select>
        </fieldset>
        <fieldset class="form-group">
          <label for="image">Image</label>
          <input id="input-b2" name="input-b2" type="file" class="file" 
                 data-show-preview="false" th:field="*{image}" th:value="${image}">
        </fieldset>
      </form>
    </div>

    <div class="col-lg-8 col-sm-12 col-xs-12">
      <table class="table table-inverse table-striped table-hover">
        <thead>
        <tr>
          <th>ID</th>
          <th>Name</th>
          <th>Price</th>
          <th>Quantity</th>
          <th>Status</th>
          <th>Image</th>
          <th>Action</th>
        </tr>
        </thead>
        <tbody>
        <tr th:each="product : ${productTable} ">
          <td th:text="${product.pid}"></td>
          <td th:text="${product.pName}"></td>
          <td th:text="${product.price}"></td>
          <td th:text="${product.qty}"></td>
          <td th:text="${product.status == '0'} ? 'Available' : 'Not Available'"></td>
          <td th:text="${product.image}"></td>
          <td>
            <a th:href="@{/productlist/{id}(id = ${product.pid})}" class="btn btn-primary">Update</a>
          </td>
        </tr>
        </tbody>
      </table>

    </div>
  </div>
  <div class="row float-right">
    <div class="col-xd-12">
      <div>
        <fieldset class="form-inline" disabled >
          <label for= "prodAmount">AMOUNT:  </label>
          <input type="number" class="form-control" th:text="${#aggregates.sum(product.{price * qty})}">
        </fieldset>
        <button type="button" class="btn btn-primary">Checkout</button>
      </div>
    </div>
  </div>
</div>

产品总监:

@RequestMapping(value="/product-list")
public ModelAndView shopView() {
    ModelAndView mav = new ModelAndView();
    mav.addObject("productTable", pRepo.findAll());
    mav.addObject("productEntity",new ProductEntity());
    mav.setViewName("/productlist");
    return mav;
}

@RequestMapping(value = "/{id}",method = RequestMethod.GET)
public ModelAndView getProduct(@ModelAttribute ProductEntity productEntity, @PathVariable int id) {
    ModelAndView mav = new ModelAndView();
    mav.addObject("productTable",pRepo.findAll());
    mav.addObject("productEntity", pRepo.findOne(id));
    mav.setViewName("/productlist");
    return mav;
}

0 个答案:

没有答案