我有一个像下面这样的 Action

public class CompareAction {

    private Long[] pids;

    public Long[] getPids() {
        return pids;
    }

    public void setPids(Long[] pids) {
        this.pids = pids;
    }

    public String displayComparison() {
        for (Long pid : pids) {
            System.out.println("pid = " + pid);
            System.out.println();
        }
        return "success";
    }
}

我正在尝试通过在地址栏http://localhost:8080/sm-shop/compare?pids=12,23,34中键入以下url来发送数组。我想要的输出是
pid = 12

pid = 23

pid = 34

但是我得到的是
pid = 122334

我尝试了Google搜索,但找不到如何执行此操作。请帮助我找出问题所在。

最佳答案

您需要多次传递参数pids:

http://localhost:8080/sm-shop/compare?pids=12&pids=23&pids=34

如果您将pids属性声明为数组,则Struts2会自动将多个参数映射到数组。

10-06 02:05