В настоящее время я разрабатываю туристическую услугу, и мы должны записать информацию о пользователе в файл XML, используя JAXB Marshalling. При запуске приложения на сервере Tomcat я набираю информацию в текстовом поле и нажимаю «Зарегистрировать», формат XML записывается в консоли, но фактически не записывается в файл XML. На данный момент у меня есть мои «account. xml» в каталоге «src / main / resources». Вот информация о моем контроллере. Я не совсем уверен, почему он не будет записывать в файл XML:
@Controller
public class AccountController {
@RequestMapping(value = "/register", method = RequestMethod.GET)
public String registerPage(Locale locale, Model model) {
return "register";
}
@RequestMapping(value = "/home", method = RequestMethod.POST)
public String register(@RequestParam("name") String name, @Validated User user, Model model) throws JAXBException, IOException{
Account account = new Account();
account.setName(name);
account.setEmail("email");
account.setPassword("password");
try {
File file = ResourceUtils.getFile("classpath:accounts.xml");
JAXBContext jaxbContext = JAXBContext.newInstance(Account.class);
Marshaller jaxbMarshaller = jaxbContext.createMarshaller();
jaxbMarshaller.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, Boolean.TRUE);
jaxbMarshaller.marshal(account, file);
jaxbMarshaller.marshal(account, System.out);
} catch (JAXBException e) {
e.printStackTrace();
}
model.addAttribute("name", user.getName());
return "user";
}
}
Мой вывод на консоль выглядит следующим образом, когда я отправляю информацию:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<account>
<email>email</email>
<name>testName</name>
<password>password</password>
</account>
Любой была бы признательна за помощь!