I have an action like below
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";
}
}
I'm trying to send an array by typing following url in the addressbar http://localhost:8080/sm-shop/compare?pids=12,23,34
. The output I want is
pid = 12
pid = 23
pid = 34
But what I'm getting is
pid = 122334
I tried googling but couldn't find how to do this. Please help me figure out whats wrong.
You need to pass parameter pids
multiple times:
http://localhost:8080/sm-shop/compare?pids=12&pids=23&pids=34
If you declared your pids
property as array Struts2 will automatically map multiple parameters to array.
If you want to keep this(http://localhost:8080/sm-shop/compare?pids=12,23,34
) url format either you have to add a custom converter or you can make pids a String in your action and parse the array by splitting it at commas.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With