Форма публикации с полями массива, проанализированными Sparkjava как нулевые

Я хочу иметь возможность публиковать форму с индексированными полями массива и читать эти поля из Sparkjava. Основываясь на некотором чтении, я нашел несколько рекомендаций по использованию квадратных скобок для индексации моих повторяющихся полей. Это похоже на соглашение php, которое автоматически анализирует повторяющееся поле в массив. Однако я не могу понять, что магия Sparkjava делает с этим полем, похоже, она игнорирует скобки и представляет мне нулевой объект для этого ключа.

Так как это было ясно как грязь, вот некоторый код:

Это моя форма:

<form method="post">
  Array: <input type="text" name="MyArray[1]" /><br>
  Array: <input type="text" name="MyArray[2]" /><br>
  Name: <input type="text" name="name" /><br>
  <button type="submit">Submit</button>
</form>

И это моя конечная точка обработки формы:

post("/form", (req, res) -> {
    String data = req.queryMap().toMap().toString();
    return data;
});

Когда я ввожу значения в свою форму и отправляю, отображается результирующая страница:

{name=[Ljava.lang.String;@7ae881bf, MyArray=null}

Таким образом, он анализирует name как ключ (точно так же, как и любую скучную форму), но похоже, что он анализирует конечный [] в поле MyArray как указатель некоторой специальной структуры, которая должна быть преобразована в определенный объект. Он ведет себя так же, если я пропущу индексы и назову оба поля MyArray[]. Я был бы счастлив, если бы он позволил мне получить доступ к ключам как MyArray[1] и MyArray[2], но я бы предпочел понять, какую магию синтаксического анализа пытается использовать Sparkjava, чтобы я мог использовать ее.

Спасибо!


person mattwise    schedule 07.11.2016    source источник
comment
Я не думаю, что искра решит это. Возможно, вы можете проверить это: stackoverflow.com/questions/28158475/   -  person Pablo Matias Gomez    schedule 29.11.2016