Тип ввода чтения = "скрытый" с трикотажем - PullRequest
0 голосов
/ 23 февраля 2012

.. Привет,

У меня на странице .jsp скрытый ввод:

<form ... method="post">
  ...
  <input type="hidden" name="tc" value="true"/>
  ...
</form>

А на стороне сервера (все в GAE) код Java похож наthis ...

@POST
@Path("after")
public Response afterTC(
                    ...
        @FormParam("tc") boolean tc
                    ...
) throws URISyntaxException {
        return Response.ok("OK!").build();
}

Метод вызывается идеально, но ... при отладке и попытке восстановить значение tc ... это всегда ложно ... Как я могу получить правильное значение tc?Не знаю как это сделать = (

Спасибо!

Ответы [ 3 ]

3 голосов
/ 24 февраля 2012

Ваш пример кода работает для меня (то есть я собрал в основном одно и то же, и tc - это правда).

Я уверен, что проблема НЕ в том, что тип ввода скрыт - с точки зрения вашего кода обработки скрытый ввод выглядит точно так же, как и любой другой ввод формы. Все они передаются как просто строковое имя и строковое значение ... в этом случае, когда значение преобразуется в логическое значение за кулисами.

То, что я бы сделал в вашем случае, похоже на то, что предложил Павел - попробуйте @FormParam("tc") String tc и определите, через какое значение строки поступает. Это просто техника отладки; как только вы поймете, что происходит не так и исправите это, вы можете переключить его обратно на логическое значение.

Если бы это был я, мое первое предположение было бы опечаткой - если "имя" ввода не совпадает с тем, что вы даете FormParam, оно получится как ложное.

0 голосов
/ 24 февраля 2012

Возможно ли, что вы не отправляете форму, содержащую это <input>?

Что я имею в виду, если у вас есть что-то вроде этого:

<form>
    <input type="hidden" name="tc" value="true"/>
</form>
<form>
    <input type="submit"/>
</form>

Есть две разные формы,и передается только второй (без ввода "tc").

0 голосов
/ 23 февраля 2012

Вы пытались использовать Boolean вместо Boolean?Логическое значение должно работать в этом контексте.

...