java Bean里面的代码   问题  谢谢大家啊   为什么jsp里面用param ="discount" 就没错  用value="<%= request.getParameter("discount")%>"   就会报异常rg.apache.jasper.JasperException: An exception occurred processing JSP page /bean/testproperty.jsp  搞了一个早上发现用param才行  package Bean;public class SaleEntry {
private double discount = 1.0;
private String productname = "unknown";
private int number = 0;
public double getDiscount() {
return discount;
}
public void setDiscount(double discount) {
this.discount = discount;
}
public String getProductname() {
return productname;
}
public void setProductname(String productname) {
if(productname!=null){
this.productname = productname;
} else {
this.productname = "unknown";
}

}
public int getNumber() {
return number;
}
public void setNumber(int number) {
this.number = number;
}
public double productcost(){
double cost;
if(productname.equals("coffee")){
cost = 13.14*this.getDiscount();
} else{
cost = 0;
}
return roundmoney(cost);
}
public double roundmoney(double cost){
return Math.floor((cost*100)/100.0);//将小数点后面的内容给去掉
}
public double gettotalcost(){
return (this.productcost()*this.getNumber());
}
}
jsp代码   
<html>
<head>
<title>jsp set property</title>
</head>
<body>
<jsp:useBean id="se" class="Bean.SaleEntry"/>
<jsp:setProperty 
name="se"
property="productname"
value="<%= request.getParameter("productname")%>"/>
<jsp:setProperty 
name="se"
property="discount"
param ="discount" />
    <!--value="<%= request.getParameter("discount")%>" />-->
<table align="center" border="2"><tr >
<th>product name <th> number <th> discount <th> totalcost
</tr>
<td><jsp:getProperty name="se" property="productname" />
</tr>
</table>
</body>
</html>

解决方案 »

  1.   

    value="<%= request.getParameter("productname")%>",这种引号使用不对
    改成 value='<%= request.getParameter("productname")%>'
      

  2.   

    不对,不关引号的事,productname是没问题的,用那种写法,主要是discount 和number都不能用value的那种写法?
      

  3.   

    value="<%= request.getParameter("discount")%>"
    使用这个的话那这个参数是从哪个页面跳转过来的呢?
      

  4.   

    其实这个东西比较扯淡,你把value="<%= request.getParameter("discount")%>" 改成
    value="<%= request.getParameter(\"discount\")%>"编译就能通过了!! 
      

  5.   

    jsp:useBean 标签中用param的话不需要自己做类型转换,用value的话貌似需要自己做类型转换,
    即将request.getParameter("discount"))返回的字符串类型转换成double类型即可:
    value="<%= request.getParameter("discount")%>"改写成
    value="<%=Double.parseDouble(request.getParameter(\"discount\"))%>" ,我这边实验通过了,希望对您有帮助!