@Controller
public class HttpErrorController implements ErrorController {
private final MessageSource messageSource;
@Autowired
public HttpErrorController(MessageSource messageSource) {
this.messageSource = messageSource;
}
@RequestMapping("/error")
public String handleError(
Locale locale,
Model model,
HttpServletRequest request,
Exception ex
) {
Object status = request.getAttribute(RequestDispatcher.ERROR_STATUS_CODE);
if (status != null) {
int statusCode = Integer.valueOf(status.toString());
Map<String, String> metaData = new HashMap<>();
// 403
if (statusCode == HttpStatus.FORBIDDEN.value()) {
// do somthing
}
// 404
else if (statusCode == HttpStatus.NOT_FOUND.value()) {
// do somthing
}
// 405
else if (statusCode == HttpStatus.NOT_FOUND.value()) {
// do somthing
}
// 500
else if (statusCode == HttpStatus.INTERNAL_SERVER_ERROR.value()) {
// do somthing
}
}
return "templates/errors/httperrors";
}
@Override
public String getErrorPath() {
return "/error";
}
}
# Disable Whitelabel Error Page
server.error.whitelabel.enabled=false
Итак, не отображается картинка. В консоли ошибка 404.
@Override
public void configure(WebSecurity web) {
web.ignoring().antMatchers(
// статика
"/css/**",
"/js/**",
"/fonts/**",
"/images/**"
);
}
<li><a href="#" class="link-item" th:classapend="${#strings.contains(#httpServletRequest.requestURI, '/tutorials')} ? colorClass : baseClass">Tutorials</a></li>
th:class
& th:classappend
public class User {
private int id;
}
@Repository
public interface UserRepository extends CrudRepository<User, Long> { }
public class User {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Long id;
}
@ID
& @GeneratedValue(strategy = GenerationType.AUTO)
при клике на кнопку менятся url на другой и вызывается другой темплейт
всплывающее модальное окно с другим темплейтом
@Component
public class Messages {
@Autowired
private MessageSource messageSource;
private MessageSourceAccessor accessor;
@PostConstruct
private void init() {
accessor = new MessageSourceAccessor(messageSource, LocaleContextHolder.getLocale());
}
public String get(String code) {
return accessor.getMessage(code);
}
}
@Autowired
private Messages messages;
messages.get("info.md7.urodocs.models.enums.Sex.MAN")
@Value
или @ConfigurationProperties
в данном случае.info.test.models.enums.Sex.MAN = мужчина
info.test.models.enums.Sex.WOMAN = женщина
просто у меня сейчас страница авторизации выходит первой
@GetMapping("/")
public String homePage() {
return "redirect:/allStudents";
}
@Order(1)
@Configuration
@EnableWebSecurity
@Component
antMatchers("/allStudents").hasRole("ADMIN");
Но мне надо, допустим ,поднимать данные с базы поддерживаемых растений (только имена допустим), после эти имена надо каким то образом передать на страницу в скролл бар, чтобы пользователь уже из них выбрал растение и при сабмите
model.addAttribute("plants", repo.getPlants())
) передать эту информацию..... как обработать выбранное значение в контроллере ...