У меня есть такой сценарий:Добавить Ошибка на Получ Spring аннотированный контроллер
- Я отобразить список активов для пользователей.
- Пользователь выбирает актив, а затем нажимает на добавочный элемент
- По моей просьбе, во время операции GET. Я использую класс службы, чтобы проверить, действительно ли этот актив все еще существует в БД
- Если нет, пользователь должен быть уведомлен сообщением. Я использую форму: ошибка тег
Моя проблема в том, когда я добавить объект ошибки в подписи метода, я получил эту ошибку:
Errors/BindingResult argument declared without preceding model attribute
Код:
@RequestMapping(value = "/addItemsToAsset.htm", method = RequestMethod.GET)
public String setupForm(@RequestParam("assetID") Long assetID,
Errors error, ModelMap model) {
AssetItemVo voAsset = null;
if (assetID != null && assetID != 0) {
//Get data for asset from DB using assetID
List<AssetDraftTempVo> lstDraft = service.getAssetDraftByLngID(assetID);
if (lstDraft.size() == 0) {
voAsset = new AssetItemVo();
// I wanted to add validation here. If no data for asset id is found, I would like to add an error to the error object
error.reject("123","Unable to find info for the asset in the database.");
} else {
AssetDraftTempVo voDraft = lstDraft.get(0);
voAsset = new AssetItemVo();
voAsset.setStrPlant(voDraft.getStrPlant());
.
. /*other DTO property here*/
.
}
}
model.put("assetItemDetail", voAsset);
return "additemstoasset";
}
Моя цель заключается в том, что во время отображения формы я хотел сразу заполнить объект ошибки (если есть ошибка)
Вот моя форма для наглядности.
<form:form modelAttribute="assetItemDetail" method="post">
<div id="error_paragraph">
<form:errors path="*" cssClass="errors" />
</div>
</form:form>
Чтобы пройти ошибки, я вручную изменить сигнатуру метода и добавил атрибут модели, но он по-прежнему не может заполнить форму: ошибка тег
@RequestMapping(value = "/addItemsToAsset.htm", method = RequestMethod.GET)
public String setupForm(@RequestParam("assetID") Long assetID,
@ModelAttribute("assetItemDetail") AssetItemVo voAssetData, Errors error,
ModelMap model)