Jakarta ee Struts 2中作为get参数的数组
我有一个像下面这样的动作Jakarta ee Struts 2中作为get参数的数组,jakarta-ee,struts2,http-get,Jakarta Ee,Struts2,Http Get,我有一个像下面这样的动作 public class CompareAction { private Long[] pids; public Long[] getPids() { return pids; } public void setPids(Long[] pids) { this.pids = pids; } public String displayComparison() { for
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";
}
}
我试图通过在地址栏中键入以下url来发送数组http://localhost:8080/sm-购买/比较?pids=12,23,34
。我想要的输出是
pid = 12
pid = 23
pid = 34
但我得到的是
pid = 122334
我试着用谷歌搜索,但找不到怎么做。请帮我找出问题所在。您需要多次传递参数
pids
:
http://localhost:8080/sm-shop/compare?pids=12&pids=23&pids=34
如果将
pids
属性声明为array Struts2,则会自动将多个参数映射到array。如果要保留此属性(http://localhost:8080/sm-购买/比较?pids=12,23,34
)url格式您必须添加一个自定义转换器,或者您可以在操作中将PID设置为字符串,并通过在逗号处拆分来解析数组。请尝试http://localhost:8080/sm-购物/比较?pids[]=12&pids[]=23&pids[]=34
作为URL?或添加自定义转换器…如何添加自定义转换器?