我正在检索用户购买的产品列表,但是由于构造器产品的类型为List,所以出现错误。我不知道如何转换
String buyer = request.getParameter("buyer");
List prodlist = request.getParameter("product");
Bill bill = new Bill(buyer, prodlist);
这是构造函数的代码
public Bill(String buyer, List<Product> product) {
super();
this.buyer = buyer;
this.product= product;
}
Product类的属性
private int id;
private String name;
private float price;
答案 0 :(得分:0)
(编辑:使用对象类。)
任何一个
String[] products = request.getParameterValues("product");
List<Product> prodlist = new ArrayList<>();
for (String productName : products) {
Product product = loadProduct(productName); // Or such
prodlist.add(product);
}
或使用
List<String> prodlist = Arrays.asList(request.getParameterValues("product"));
getParameterValues
用于同一参数"product"
的多个值是可能的。通常,这是String[]
。 getParameter(String)
方法用于仅出现一次的参数;实际上是一种特殊情况。
对于URL "http: ... my.html?product=pc&product=phone&product=tablet"
,结果相同。
您应该检查HTML是否确实包含多个<input name="product">
,也许使用浏览器开发人员工具,通常由F12在浏览器中引起。