日期:2014-05-19  浏览次数:20643 次

jsp页面写java代码的格式问题
很久没写,忘光了。。
jsp代码:
 <table border="solid 1px;">
  <tr>
  <td>订单项id </td>
  <td>订单id</td>
  <td>书号</td>
  <td>书名</td>
  <td>价格</td>
  <td>书的数量</td>
  </tr>
  <c:forEach var="sonOr" items="${list}">
  <tr>
  <td>${sonOr.orderItemId}</td>
  <td>${sonOr.orderId}</td>
  <td>${sonOr.bookId}</td>
  <td>${sonOr.bookName}</td>
  <td>${sonOr.price}</td>
  <td>${sonOr.bookNum}</td>
  </tr>
  <%! Float totlePrice = %>${sonOr.price}<%*%>${sonOr.bookNum} //自己加的,格式错误
  </c:forEach>
<tr>
<td></td>
<td></td>
<td></td>
<td>总价格:</td>
<td></td>
<td><% out.print(totlePrice) %></td>//自己加的,格式错误
</tr>  
  </table>
想输出:${sonOr.price}*${sonOr.bookNum}的总价格




------解决方案--------------------
用的是jstl+EL表达式吧..${sonOr.price*sonOr.bookNum} 

sonOr为一个对象,该对象对应的类中有price和bookNum属性,并有get/set方法对
------解决方案--------------------
你在sonOr类里加一个属性,像这样,然后在页面就可以直接用
Java code

private double price;
    private double bookNum;
    private double countAmount;
    
    public double getCountAmount() {
        double result=0;;
        if(price>0){
            result=price;
        }
        if(bookNum>0){
            result*=bookNum;
        }
        return countAmount;
    }