Используя Spring MVC 3.0.0.RELEASE, у меня есть следующий контроллер:
@Controller
@RequestMapping("/addIntake.htm")
public class AddIntakeController{
  private final Collection<String> users;
  public AddIntakeController(){
    users = new ArrayList<String>();
    users.add("user1");
    users.add("user2");
    // ...
    users.add("userN");
  }
  @ModelAttribute("users")
  public Collection<String> getUsers(){
    return this.users;
  }
  @RequestMapping(method=RequestMethod.GET)
  public String setupForm(ModelMap model){
    // Set up command object
    Intake intake = new Intake();
    intake.setIntakeDate(new Date());
    model.addAttribute("intake", intake);
    return "addIntake";
  }
  @RequestMapping(method=RequestMethod.POST)
  public String addIntake(@ModelAttribute("intake")Intake intake, BindingResult result){
    // Validate Intake command object and persist to database
    // ...
    String caseNumber = assignIntakeACaseNumber();
    return "redirect:intakeDetails.htm?caseNumber=" + caseNumber;
  }
}
Контроллер считывает информацию о входе из объекта команды, заполненного формой HTML, проверяет объект команды, сохраняет информацию в базе данных и возвращает номер дела.
Все отлично работает, за исключением случаев, когда я перенаправляю на страницу incomingDetails.htm, я получаю URL-адрес, который выглядит следующим образом:
 http://localhost:8080/project/intakeDetails.htm?caseNumber=1&users=user1&users=user2&users=user3&users=user4...
Как предотвратить сбор пользовательской коллекции в URL?