каков реальный сценарий использования сервиса весеннего преобразования - PullRequest
0 голосов
/ 08 марта 2011

Я читал эти вопросы

Служба конверсии весной

Но я до сих пор не понимаю, при каких сценариях нам нужно конвертировать.Может кто-нибудь дать мне пример того, что может быть реальным примером использования сервиса конвертации в web apllicationj

Ответы [ 2 ]

2 голосов
/ 08 марта 2011

Spring Webflow использует сервис преобразования Spring. Webflow не предлагает доступ к методу / аннотации типа InitBinder. Таким образом, вы сообщаете Spring обо всех преобразованиях, которые вы хотите сделать для всех потоков. Если служба ConversionService была недоступна, поддержка привязки была бы недоступна.

1 голос
/ 12 июня 2011

Службу преобразования можно использовать для прямого преобразования между пользовательским интерфейсом и бизнес-объектами.

Допустим, у меня есть веб-приложение с выпадающим списком продуктов. Очень просто определить ProductConversionService, который преобразуется из значения раскрывающегося списка (скажем, id 4) в Product. Теперь в моем коде (контроллер, API и т. Д.) Я просто ссылаюсь на продукт, и все происходит автоматически.

В старых интерфейсах я видел много кода, посвященного этому преобразованию. Я приведу заведомо грубый пример:

String productIdParam = request.getParameter("productId");
// Validate that the param exists, is numeric, etc.....
Long productId        = Long.valueOf(productIdParam);
Product product       = productManager.findProduct(productId);

Этот код также сложнее протестировать, поскольку мне нужно создать фиктивный запрос, дать ему productIdParameter и так далее. Также мне нужно, чтобы productManager был доступен везде, где это необходимо.

С ConversionService я могу просто поместить это в JSP:

<form:select path="mystuff.product">
  <option value="1">Nook</option>
  <option value="2">Cranny</option>
</form:select>

Когда мой контроллер Spring MVC получает запрос, mystuff.getProduct () имеет выбранный продукт. Чисто и просто. И я могу использовать это и за пределами веб-уровня.

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