@PostMapping("/add2Cart")
@ResponseBody
void addToCart(@RequestBody String str, HttpServletRequest request) {
...
}
~{fragments/NavBar :: navbar (~{::body}, __${param.room}__,~{::head})}
${param.room}
во включаемом фрагменте. @RequestMapping(value = "/pet/update", method = RequestMethod.PUT)
@ResponseBody
public Pet updatePet(@Valid @ModelAttribute Pet pet) {
...
}
<!-- Статический импорт с помощью директивы -->
<%@ include file="filename" %>
<!-- Динамический импорт с помощью тега -->
<jsp:include page="filename"/>
<!-- Импорт с помощью JSTL -->
<c:import url="filename" />
<html>
<head>
<meta name="_csrf" content="${_csrf.token}"/>
<meta name="_csrf_header" content="${_csrf.headerName}"/>
...
</head>
...
</html>
var csrfHeaderName = "X-CSRF-TOKEN";
var csrfTokenValue;
var metaTags = document.getElementsByTagName('meta');
for(var i = 0; i < metaTags.length; i++) {
var metaTagName = metaTags[i].getAttribute("name");
if(metaTagName === "_csrf_header")
csrfHeaderName = metaTags[i].getAttribute("content");
if(metaTagName === "_csrf")
csrfTokenValue = metaTags[i].getAttribute("content");
}
...
var xhr = new XMLHttpRequest();
xhr.open("POST", "userChangeTariff?tariffId=" + num1 + "&contractNumber=" + num2, false);
xhr.setRequestHeader(csrfHeaderName, csrfTokenValue);
xhr.send();
<hibernate-mapping>
<class name="ru.misha.model.Client" table="clients" ...>
...
<set name="pets" table="clients_pets" fetch="select" inverse="true">
<key>
<column name="client_id" not-null="true" />
</key>
<one-to-many class="ru.misha.model.Pet" />
</set>
...
</class>
...
</hibernate-mapping>
@Entity
@Table(name = "clients")
public class Client extends Base {
@OneToMany(mappedBy="client")
@Column(name="clientId")
private Set<Pet> pets;
}