У меня есть контроллер Spring MVC, который возвращает имя фрагмента тимелеафа для просмотра компонента resolver. Проблема в том, что этот фрагмент нуждается в URL-адресе в качестве параметра. Здесь я помещаю фрагмент:Как передать параметры в Thymeleaf Ajax Fragment
<!-- A fragment with wrapper form for basic personal information fragment -->
<th:block th:fragment="form-basic(url)">
<form role="form" th:action="${url}" method="post" th:object="${user}">
<th:block th:replace="admin/fragments/alerts::form-errors"></th:block>
<th:block th:include="this::basic" th:remove="tag"/>
<div class="margiv-top-10">
<input type="submit" class="btn green-haze" value="Save" th:value="#{admin.user.form.save}" />
<input type="reset" class="btn default" value="Reset" th:value="#{admin.user.form.reset}" />
</div>
</form>
</th:block>
Я не могу получить способ передать этот параметр без получения ошибки. Контроллер выглядит следующим образом:
@RequestMapping(method = RequestMethod.GET)
public String show(@CurrentUser User user, Model model) {
logger.info(user.toString());
if(!model.containsAttribute(BINDING_RESULT_NAME)) {
model.addAttribute(ATTRIBUTE_NAME, user);
}
model.addAttribute("url", "/admin/users/self/profile");
return "admin/fragments/user/personal::form-basic({url})";
}
Для приведенного выше примера, я получаю следующее сообщение об ошибке:
06-Jan-2017 11:36:40.264 GRAVE [http-nio-8080-exec-9] org.apache.catalina.core.StandardWrapperValve.invoke El Servlet.service() para el servlet [dispatcher] en el contexto con ruta [/ejercicio3] lanzó la excepción [Request processing failed; nested exception is java.lang.IllegalArgumentException: Invalid template name specification: 'admin/fragments/user/personal::form-basic({url})'] con causa raíz
java.lang.IllegalArgumentException: Invalid template name specification: 'admin/fragments/user/personal::form-basic({url})'
at org.thymeleaf.spring4.view.ThymeleafView.renderFragment(ThymeleafView.java:275)
at org.thymeleaf.spring4.view.ThymeleafView.render(ThymeleafView.java:189)
at org.springframework.web.servlet.DispatcherServlet.render(DispatcherServlet.java:1257)
at org.springframework.web.servlet.DispatcherServlet.processDispatchResult(DispatcherServlet.java:1037)
at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:980)
Я сделал эти тесты:
"admin/fragments/user/personal::form-basic('{url}')";
"admin/fragments/user/personal::form-basic(@{/admin/users/self/profile})";
"admin/fragments/user/personal::form-basic(/admin/users/self/profile)";
"admin/fragments/user/personal::form-basic('/admin/users/self/profile')";
В целом я получаю ошибку
Не могли бы вы добавить текст ошибки? –
Извините, кен, я добавил выше, исключение, которое я получаю. –