положение:Невозможно вызвать любой метод вне моего контроллера в Spring
- Использование Spring MVC Я подскажете пользователя, на мой взгляд, чтобы ввести информацию в форму.
- Я связываю эту информацию с объектом формы (как обычно).
- Я успешно возвращаю данные на свой контроллер (подтвержденный) через свалку журнала.
Проблема:
- Сейчас я нахожусь в контроллер со всеми данными пользователя, введенных в форму (привязывается к форме объекта).
- Я беру тот же объект с данными в нем, и я пытаюсь передать его методу класса сервиса, чтобы использовать данные так, как мне это нужно.
Проблема в том, что как только (как только) мой контроллер вызовет метод службы, он выдает исключение. Он даже не достигает «log.info» (который является первой строкой кода в этом методе).
Это должно быть абсолютно эффективным, и я очень обратил внимание на то, почему это не так. Это похоже на очень простой вопрос. т. е. вернуть данные моему контроллеру, использовать эти данные при вызове метода услуги).
CONTROLLER
@RequestMapping(value = "/register", method = RequestMethod.POST)
public String registerAccount(@ModelAttribute User user, Locale locale,
Model model) {
String theView = "";
try{
logger.info("User submitted Registration Form");
user.setPaidStatus("ACTIVE");
user.setUserRole("SUBSCRIBER");
logger.info(user.toString()); //Proving all the data is available.
userService.createNewUser(user); //This is the call to my service
//method. As soon as it reaches it it exceptions out right away.
//userDao.createNewUser(userDto); //just to see if it does the same
//thing elsewhere - (it does)
model.addAttribute("command", new User());
theView = "login";
} catch(SaveMyFavsException se){
logger.info(se.getCmdCode() + ", Message: " + se.getCmdMsg());
model.addAttribute("command", new User());
model.addAttribute("error", se.getCmdCode() + ", Message: " +
se.getCmdMsg());
return "register";
} catch(Exception e){
logger.info(e.getLocalizedMessage());
model.addAttribute("command", new User());
model.addAttribute("error", e.getLocalizedMessage());
return "register";
}
return theView;
}
SERVICE CLASS (см createNewUser())
@Component
public class UserService implements UserServiceInterface{
@Autowired
UserDaoInterface userDao;
private static final Logger logger = LoggerFactory.getLogger(UserService.class);
public void createNewUser(User user){
int result = 0;
try{
//FAILS BEFORE MAKING IT HERE (automatically ends up in the second Catch block for Exception with no message)
logger.info("Entered createNewUser() service");
logger.info("User ID: " + user.getUserId());
result = userDao.createNewUser(user);
logger.info("New User DAO Complete - Rows Inserted: " + result);
} catch(SaveMyFavsException se){
throw new SaveMyFavsException(se.getCmdCode(), se.getCmdMsg());
} catch(Exception e){
logger.info("General Exception occurred during service to create new user... Trace: " + e.getLocalizedMessage());
throw new SaveMyFavsException(2000015, "General Exception occurred during service to create new user... Trace: " + e.getLocalizedMessage());
}
}
** Пожалуйста, будьте как можно более подробными в своем вопросе **, как сообщать нам, что такое исключение –
Добро пожаловать в переполнение стека! Сначала вы можете взять тур (http://stackoverflow.com/tour) и узнать [Как задать хороший вопрос] (http://stackoverflow.com/help/how-to-ask) и создать [ Minimal, Complete и Verifiable] (http://stackoverflow.com/help/mcve). Это облегчает нам помощь. –
Если вы смотрите на мой пост - объект пользователя имеет несколько свойств: - идентификатор пользователя - ПгвЬЫате - LastName - и т.д .... Все они населены (для свойств даты у меня есть там кроме), которые не предназначены для заполнения здесь. Они используются для извлечения данных из базы данных. Я попытался удалить их, и это не изменило ситуацию. –