просто у меня сейчас страница авторизации выходит первой
@GetMapping("/")
public String homePage() {
return "redirect:/allStudents";
}Plant plant = plantRepository.findById(id);Optional<Plant> @Order(1)
@Configuration
@EnableWebSecurity
@ComponentantMatchers("/allStudents").hasRole("ADMIN");Есть ли ресурсы, где можно найти примерный алгоритм прохождения по статьям и страницам?
do {} while () или while() {} собираете информацию (ссылки) об имеющихся записях и добавляете в какой-нибудь List. Но мне надо, допустим ,поднимать данные с базы поддерживаемых растений (только имена допустим), после эти имена надо каким то образом передать на страницу в скролл бар, чтобы пользователь уже из них выбрал растение и при сабмите
model.addAttribute("plants", repo.getPlants()) ) передать эту информацию..... как обработать выбранное значение в контроллере ...
"Deprecated Gradle features were used in thus build".
compile на implementationИспользую эмуляторы Genymotion. С самого начала запускаю VirtualBox. Тогда запускаю эмулятор Android через него. Дальше запускаю Genymotion, и уже через него запускаю эмулятор : Google Nexus5 - 5.1.0 - API22 - 1080x1920.
@GetMapping("/boxes")
public String getBoxesList(
Model model
) {
model.addAttribute("boxes", boxService.getBoxesList());
return "/boxes-template";
}<!DOCTYPE html>
<html>
<head>
<title></title>
</head>
<body>
<!-- тут итерируем по списку -->
<div th:each="box : ${boxes}">
<span th:inline="text">[[${box.boxTitle}]]</span> <!-- или можно так -->
<span th:text="${box.boxTitle}">Название коробки</span>
<a th:href="'/boxes/edit/'+${box.boxId}">Изменить</a> <!--обратите внимание на эту ссылку -->
</div>
</body>
</html>@GetMapping("/boxes/edit/{id}")
public String boxEditForm(
@Pathvariable("id") Long id,
Model model
) {
Box box = boxRepository.findById(id);
model.addAttribute("box", box);
return "box-edit-template";
}List<GrowBox> findByUserId(Long userId);List<GrowBox> findAllByUserUserId(Long userId) если мне память не изменяет, то должно быть как-то такList<GrowBox> findAllByUser(User user);No property userId found for type GrowBox!
Caused by: org.springframework.data.mapping.PropertyReferenceException: No property userId found for type GrowBox!
Loading class `com.mysql.jdbc.Driver'. This is deprecated. The new driver class is `com.mysql.cj.jdbc.Driver'. The driver is automatically registered via the SPI and manual loading of the driver class is generally unnecessary.
<form th:action="@{/register}"
th:object="${personForm}" method="POST">
Login:
<input type="text" th:field="*{name}" />
<br/>
Email:
<input type="text" th:field="*{email}" />
<br/>
Password:
<input type="text" th:field="*{password}">
<br/>
Confirm password:
<input type="text" th:field="*{doublePassword}">
<input type="submit" value="Create" />
</form><form th:action="@{/register}"
th:object="${personForm}" method="POST">
Login:
<input type="text" th:field="*{name}" />
<br/>
Email:
<input type="email" th:field="*{email}" />
<br/>
Password:
<input type="password" th:field="*{password}">
<br/>
Confirm password:
<input type="password">
<input type="submit" value="Create" />
</form>model.addAttribute() и вывести в шаблоне@RequestMapping(value = {"/register"} , method = RequestMethod.POST)
public String savePerson(Model model, @ModelAttribute("personForm") UserForm personForm) {
if(!personForm.getPassword.equals(personForm.getPasswordConfirmation)) {
model.addAttribute("passwordIncorrect", "Вы ввели некорректный пароль");
return "register";
}
if(personForm.checkPassword() &&
userRepository.findByEmail(personForm.getEmail()) == null &&
userRepository.findByName(personForm.getName()) == null) {
AppUser user = new AppUser(personForm.getName(),
personForm.getEmail(),
personForm.getPassword());
user.setEnabled(true);
user.setRoles(Collections.singleton(Role.USER));
userRepository.save(user);
return "home";
}
return "register";
}logging.level.org.springframework.security=DEBUG
logging.level.org.hibernate.SQL=DEBUG
logging.level.org.hibernate.type.descriptor.sql.BasicBinder=TRACE
logging.level.org.hibernate.type=TRACE2019-05-25 20:20:12.446 DEBUG 21154 --- [nio-8080-exec-2] o.s.s.p.JdbcUserDetailsManager : Query returned no results for user ''
2019-05-25 20:20:12.450 DEBUG 21154 --- [nio-8080-exec-2] o.s.s.a.dao.DaoAuthenticationProvider : User '' not found
org.springframework.security.authentication.BadCredentialsException: Bad credentials.formLogin()
.loginPage("/login")
.usernameParameter("name")
.passwordParameter("password")
<div sec:authorize="isAnonymous()">
<!-- login button here for non logged-in users -->
</div>if(
SecurityContextHolder.getContext().getAuthentication() != null &&
SecurityContextHolder.getContext().getAuthentication().isAuthenticated() &&
!(SecurityContextHolder.getContext().getAuthentication() instanceof AnonymousAuthenticationToken)
) {
return "redirect:/home";
} public interface UserRepo extends CrudRepository<ClientOrder, Integer> {
}public class ClientOrder {
@Id
@GeneratedValue(strategy=GenerationType.AUTO)
@Column(name = "id", nullable = false)
private Long id;public interface UserRepo extends CrudRepository<ClientOrder, Long>ClientOrder() {}public String savePerson(Model model,
@ModelAttribute("personForm") ClientOrder personForm) {firstName != null && firstName.length() > 0firstName != null && !firstName.isEmpty()ApplicationContext представляет собой Spring IoC контейнер и необходим для инициализации, настройки и сборки бинов для построения приложения.
Model, model.addAttribute() th:each
С бд проблема тк у меня MAC OS ,
@Service & @Repository@Query(SELECT House h FROM ... WHERE h.housId = ?1 AND h.housedoc.docType = ?2)
House findHouseByIdAndHouseDocByDocType(Long houseId, int docType)