th: attr показывает атрибут value в виде пустой строки - PullRequest
0 голосов
/ 01 апреля 2019

У меня есть форма, в которой введенные данные сопоставляются с правильной переменной с помощью th:field. Но когда страница загружается, я хочу, чтобы поле ввода показывало значение по умолчанию. Таким образом, когда пользователь не вводит никаких данных, значение по умолчанию сопоставляется с переменной.

th:field переопределяет th:value, поэтому я добавил: th:attr="value=${field.placeholder}", о котором я узнал в другой теме (ссылка в комментарии), но, похоже, это не работает. Когда я проверяю элемент, он показывает значение как: value="".

Я знаю, что field.placeholder не пуст, потому что th:placeholder="${field.placeholder}" действительно показывает значение.

<form th:action="@{/generateData}" th:object="${stepObject}" method="post" class="form-group">
  <div th:each="field, iterStat : ${stepEntry.value}">
     <label th:text="${field.name}"></label><input type="hidden" th:field="*{name}" th:attr="value=${field.name}"/>

     <input th:type="${field.type}" class="form-control" th:maxLength="${field.length}"
            th:field="*{value}" th:attr="value=${field.placeholder}" th:placeholder="${field.placeholder}"/>

  </div>
     <button type="submit" class="btn btn-primary" id="generateButton">Generate away!</button>
</form>

Так что здесь, в скрытом вводе, оно должно иметь значение $ {field.name}, но значение равно "". в другом входе он должен иметь значение $ {field.placeholder}, но это значение также равно "".

Любые предложения о том, почему это так и как я мог заставить это работать?

Когда я ввожу данные в поля ввода, они сопоставляются с переменной значения stepObject. Но важно, чтобы пользователь также мог просто нажать кнопку, ничего не вводя.

Заранее спасибо!

1 Ответ

0 голосов
/ 02 апреля 2019

Я отказался от использования th:field и в итоге просто использовал @RequestParam("form-name-attribute") в моем методе контроллера, чтобы получить значение (по умолчанию) и вручную установить его на правильный объект.

Хотелось бы сделать это с помощью функции тимелист. Так что, если кто-то еще найдет решение для этого, пожалуйста, дайте мне знать, чтобы я мог учиться! : -)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...