2013-05-12 17 views
-1
@RequestMapping(value = "/Fin_AddBankAccount", method = RequestMethod.POST) 
public @ResponseBody JsonResponse addCoaCategory(
    @RequestParam(value="code", required=true) long code, 
    @RequestParam(value="startFrom", required=true) long startFrom, 
    @RequestParam(value="name", required=true, defaultValue="N/A") String name) 
    { 

    } 

defaultValue = "N/A" не работает, Так как я не предоставлял никакого текста в поле имени, он сохраняет null в базе данных вместо "N/A"?Значение значения по умолчанию MVC по умолчанию не установлено

ответ

3

Какой смысл устанавливать значение по умолчанию, если вы действительно хотите этот параметр. , если вы пометили его как требуемое значение true (не нужно, поскольку оно по умолчанию), тогда нет необходимости в значении по умолчанию. Если этот параметр не является обязательным, отметьте его как false и укажите значение по умолчанию.

+0

Я отмечаю его как ложный, все та же проблема! –

0

В моем проекте

@RequestParam(value="name", required=true, defaultValue="N/A") String name 

Этот код правильно задает имя переменной, как DefaultValue N/A, когда requestparam "имя" не было. Я предполагаю, что вы не вставляете эту переменную имени в таблицу правильно, поэтому база данных хранит значение null вместо «N/A». Пожалуйста, покажите нам или дважды проверьте объектный код доступа к данным. Удачи


Спасибо @ Тиаре Balbi, на самом деле вам не нужно «требуется = истина», потому что DefaultValue = «N/A» неявно задает эту переменную как требуется = ложь в любом случае.

1

Документация Весна RequestParam.required

По умолчанию верно, что приводит к исключению брошенного в случае параметра отсутствует в запросе. Переключитесь на false, если вы предпочитаете нуль в случае отсутствия параметра.

С вашего вопроса я выяснил, что вы отправляете параметр name с пустым значением, используя запрос POST. Согласно документации Spring, вы не должны отправлять параметр name в запрос, чтобы использовать значение по умолчанию. Просто удалите поле name из формы HTML, если оно пустое.

По-видимому, значения по умолчанию имеют больше смысла для запросов GET.

Смежные вопросы