java - 如何在获取参数的同时在Servlet中将String转换为ArrayList-LMLPHP

我正在检索用户购买的产品列表,但由于构造器产品的类型为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;
    }


产品类别的属性

    private int id;
    private String name;
    private float price;

最佳答案

(编辑:使用对象类。)

要么

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在浏览器中引起。

关于java - 如何在获取参数的同时在Servlet中将String转换为ArrayList,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/55895179/

10-15 10:57