|
|
|
Spring Hibernate jsp Авторизация
|
|||
|---|---|---|---|
|
#18+
Коротко опишу часть проекта. Есть 3 таблицы, отвечающие за пользователей и их права: users, role, usersandroles. Есть jsp и форма, которая предназначена для создания новых пользователей в таблице users и запись их прав в таблице usersandroles. Сейчас не все получается и поэтому вопрос, почему ошибка(блок, который отвечает за Roles)? Http status 400: The request sent by the client was syntactically incorrect. .jsp: Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. User.java: Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. Role.java: Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.08.2015, 11:56 |
|
||
|
Spring Hibernate jsp Авторизация
|
|||
|---|---|---|---|
|
#18+
Форма делает HTTP POST на относительный URL save. Кто его обрабатывает? Какое отношение к проблеме имеют ORM и сущности? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.08.2015, 12:02 |
|
||
|
Spring Hibernate jsp Авторизация
|
|||
|---|---|---|---|
|
#18+
wvetalHttp status 400: The request sent by the client was syntactically incorrect. Ошибка, вроде, обозначает несовпадение параметров запроса и контроллера, который его пытался обработать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.08.2015, 12:02 |
|
||
|
Spring Hibernate jsp Авторизация
|
|||
|---|---|---|---|
|
#18+
BlazkowiczФорма делает HTTP POST на относительный URL save. Кто его обрабатывает? Какое отношение к проблеме имеют ORM и сущности? Код: java 1. 2. 3. 4. 5. Мне кажется проблема в этом кусочке: Код: java 1. 2. 3. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.08.2015, 12:09 |
|
||
|
Spring Hibernate jsp Авторизация
|
|||
|---|---|---|---|
|
#18+
... как правильно передать список id прав пользователей на контроллер? Я думал, что так: Код: java 1. 2. 3. Но не получилось. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.08.2015, 12:12 |
|
||
|
Spring Hibernate jsp Авторизация
|
|||
|---|---|---|---|
|
#18+
wvetal, У вас в методе save один единственный User, а в форме куча разных параметров. Spring как именно должен догадаться параметры на User-а замапить? Ну, и список параметров, это да. Отдельная тема. http://stackoverflow.com/questions/15497738/handle-form-post-with-a-array-of-items-in-spring-mvc http://stackoverflow.com/questions/5399347/how-to-pass-post-array-parameter-in-spring-mvc ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.08.2015, 12:23 |
|
||
|
Spring Hibernate jsp Авторизация
|
|||
|---|---|---|---|
|
#18+
Blazkowiczwvetal, У вас в методе save один единственный User, а в форме куча разных параметров. Spring как именно должен догадаться параметры на User-а замапить? User - как раз и содержит [все] эти параметры(id; username; password; roles; status;), которые передает форма. Если не передавать параметр roles - то все нормально передается (просто тогда roles - null). Как я понимаю, несовпадение в том, что roles - это List<Role> roles; А я пытаюсь передать List<id>. Ссылки глянул. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.08.2015, 12:37 |
|
||
|
Spring Hibernate jsp Авторизация
|
|||
|---|---|---|---|
|
#18+
wvetalКак я понимаю, несовпадение в том, что roles - это List<Role> roles; А я пытаюсь передать List<id>. Поэтому, если хочется получить класс, то создают UserForm, а не используют сущность. Хотя, можно где-то перехватить создание команды User и догрузить роли из репозитория. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.08.2015, 12:41 |
|
||
|
Spring Hibernate jsp Авторизация
|
|||
|---|---|---|---|
|
#18+
Придумал как передать список id ролей контроллеру. В класс User добавил дополнительное свойство: Код: java 1. 2. А в форме так: Код: java 1. 2. 3. А потом в контроллере перекину userRoles в roles. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.08.2015, 15:17 |
|
||
|
Spring Hibernate jsp Авторизация
|
|||
|---|---|---|---|
|
#18+
... Продолжение. Нахожусь на этапе записи прав пользователя в таблицу usersandroles. Структура таблицы: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. Проблема заключалась в том что в этой таблице составной ключ. Почитал как это нужно делать тут . Попробовал сделать по примеру, но не все получилось. Вот что имею: UsersAndRoles.java: Код: java 1. 2. 3. 4. 5. 6. UsersAndRolesPK.java: Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. Дальше пробую записать в базу, например, такие данные: id пользователя - 9, права пользователя [1, 3]. Код: java 1. 2. Пробовал также Код: java 1. Тогда билд проходит удачно, но при самой попытке записать данные в базу вылетает с ошибкой типа нет такой сущности UsersAndRolesPK. Вопросы: 1 - Какую часть необходимо подправить? 2 - Какой конструктор должен принимать значения UsersAndRoles или UsersAndRolesPK? 3 - Правильно ли описаны UsersAndRoles.java и UsersAndRolesPK.java? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.09.2015, 10:08 |
|
||
|
Spring Hibernate jsp Авторизация
|
|||
|---|---|---|---|
|
#18+
1,2,3 Описывать сущность UsersAndRoles надо только в том случае, если там есть поля кроме тех, что входят PK. В данном же случае следует использовать связь many-to-many, а к SO обращаться только после изучения главы "Collection mapping" документации ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.09.2015, 12:13 |
|
||
|
|

start [/forum/topic.php?fid=59&msg=39038310&tid=2124962]: |
0ms |
get settings: |
9ms |
get forum list: |
17ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
73ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
49ms |
get tp. blocked users: |
1ms |
| others: | 245ms |
| total: | 416ms |

| 0 / 0 |
