Каковы тип свойства Struts ActionForm должны быть?

Если порядок чисел и дубликатов не важен, этот код будет работать:

 var listA = new List<int> { 1, 2, 3, 4 };
 var listB = new List<int> { 5, 4, 6, 7 };
 var listC = new List<int> { 1, 2, 3 };
 if (listC.Except(listA).Count() == 0)
 {
     Console.WriteLine("List A contains all numbers from list C");
 }
 if (listC.Except(listB).Count() == 0)
 {
     Console.WriteLine("List B contains all numbers from list C");
 }
6
задан thvo 16 October 2008 в 17:29
поделиться

2 ответа

Для Struts 1.2x, свойства, где пользователь вводит или выбирает значения на HTML-форме и которые заполняются на экземпляре ActionForm автоматически HTML-тэгами Struts, должны быть Строками или булевскими переменными. Однако нет никакой причины, почему Ваш ActionForm не может иметь методов получателя, которые возвращают свойства как большее количество значимых типов для Вашего приложения, например, Даты.

5
ответ дан 16 December 2019 в 21:48
поделиться

Если Вы захотите сделать некоторую проверку сами (или использовать функции блока проверки допустимости распорок, которые были пересмотрены из распорок позже, чем 1,2), то Вам будут нужны Свойства строки по точно причине, что Вы цитируете: После того как Вы храните численные значения в Целочисленных или международных значениях, они должны быть или числами или "ничем вообще" - иначе: как Вы сохранили бы "много" (буквально) в свойстве Integer?

Клиентская Проверка (например, в JavaScript) все еще работала бы, но Вы не хотите полагаться на это.

Если - после введения неверного номера - Вы устраиваете пользователя, представляемого пустое поле, можно сохранить значения на Дате - Целое число - Независимо-от-того,-что-свойства. Если требуется подарить исходному значению сообщение об ошибке, Вам будет нужно Свойство строки.

Это имеет цену, что необходимо сделать преобразование вручную. Поскольку Struts 1.2 довольно стар, Вы могли бы хотеть думать о постепенной замене Вашей инфраструктуры приложений с более современной технологией и воздействовать на две технологии (старое и новое) одновременно некоторое время, пока старая часть не становится достаточно маленькой (или достаточно неважный), чтобы быть отброшенной.

nb - Вы также получаете больше контроля о том, какие значения Вы хотите принять как числа. Я все еще помню старое банковское приложение кредитной карты Struts, в котором я спросил своего менеджера, что - ожидаемый результат, когда требуется уйти 3e2 Евро из карты. Они не сказали 300 (как преобразованный Struts), но выбрали ошибку.

3
ответ дан 16 December 2019 в 21:48
поделиться
Другие вопросы по тегам:

Похожие вопросы: