Skip to content

Commit a7f9495

Browse files
Add interceptor
Correct header Correct styles
1 parent fa19594 commit a7f9495

5 files changed

Lines changed: 48 additions & 1 deletion

File tree

src/main/java/ru/javawebinar/topjava/LoggedUser.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,10 @@ public static LoggedUser get() {
3838
return user;
3939
}
4040

41+
public User getUser() {
42+
return user;
43+
}
44+
4145
public static int id() {
4246
return get().user.getId();
4347
}
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
package ru.javawebinar.topjava.web.interceptor;
2+
3+
import org.springframework.web.servlet.ModelAndView;
4+
import org.springframework.web.servlet.handler.HandlerInterceptorAdapter;
5+
import ru.javawebinar.topjava.LoggedUser;
6+
7+
import javax.servlet.http.HttpServletRequest;
8+
import javax.servlet.http.HttpServletResponse;
9+
10+
/**
11+
* This interceptor adds the user to the model of every requests managed
12+
*/
13+
public class ModelInterceptor extends HandlerInterceptorAdapter {
14+
15+
@Override
16+
public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception {
17+
if (modelAndView != null && !modelAndView.isEmpty() && modelAndView.getModelMap().get("user") == null) {
18+
LoggedUser loggedUser = LoggedUser.safeGet();
19+
if (loggedUser != null) {
20+
modelAndView.getModelMap().addAttribute("user", loggedUser.getUser());
21+
}
22+
}
23+
}
24+
}

src/main/resources/spring/spring-mvc.xml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,9 @@
1515
<!-- serve static resources (*.html, ...) from src/main/webapp/ -->
1616
<mvc:default-servlet-handler/>
1717

18+
<mvc:interceptors>
19+
<bean class="ru.javawebinar.topjava.web.interceptor.ModelInterceptor"/>
20+
</mvc:interceptors>
1821

1922
<mvc:annotation-driven conversion-service="conversionService">
2023
<mvc:message-converters>

src/main/webapp/WEB-INF/jsp/fragments/bodyHeader.jsp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@
2020
<sec:authorize access="hasRole('ROLE_ADMIN')">
2121
<a class="btn btn-info" role="button" href="users"><fmt:message key="users.title"/></a>
2222
</sec:authorize>
23-
<%--<a class="btn btn-info" role="button" href="profile">${user.getName()} profile</a>--%>
23+
<a class="btn btn-info" role="button" href="profile">${user.name} profile</a>
2424
<a class="btn btn-primary" role="button" href="logout">Logout</a>
2525
</sec:authorize>
2626
</form>

src/main/webapp/resources/css/style.css

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,3 +6,19 @@
66
margin-right: auto;
77
padding: 15px;
88
}
9+
.error, .message {
10+
padding: 10px;
11+
margin-bottom: 20px;
12+
border-radius: 4px;
13+
font-size: 16px;
14+
}
15+
.error {
16+
color: #a94442;
17+
background-color: #f2dede;
18+
border: 1px solid #ebccd1;
19+
}
20+
.message {
21+
color: #2f9635;
22+
background-color: #c6fbc2;
23+
border: 1px solid #9feba6;
24+
}

0 commit comments

Comments
 (0)