Есть класс Users:
@Entity
@Table(name = "USERS")
public class Users implements Serializable{
private BigInteger id;
private String login;
private BigInteger stuffId;
private String password;
private String last_name;
private String first_name;
private String middle_name;
private String email;
private int office_id;
private String state;
private Set<Roles> roles;
private Stuffs userStuff;
private MailingGroups mailingGroups;
public Users(){
}
public Users(String id, String login){
this.id = new BigInteger(id);
this.login = login;
}
//Геттеры и сеттеры
}
Есть класс MailingGroups:
@Entity
@Table(name = "MailingGroups")
public class MailingGroups implements Serializable{
private BigInteger id;
private String mailingGroup;
private List<Users> users;
//Геттеры и сеттеры
}
Есть controller:
@PostMapping(value = { "/newmailgroup" }, produces="application/json;charset=UTF-8")
public @ResponseBody GenericResponse saveGroup(@RequestBody MailingGroups mailingGroups) {
GenericResponse response = new GenericResponse();
mailingGroups = mailingGroupsService.create(mailingGroups);
response.setMessage("Группа " + mailingGroups.getMailingGroup() + " успешно добавлена.");
return response;
}
Есть JavaScript код:
function saveGroup() {
var token = $("meta[name='_csrf']").attr("content");
var header = $("meta[name='_csrf_header']").attr("content");
var users = [];
$('#users').find(':selected').each(function(i, selected){
users[i] = JSON.stringify({id: $(selected).val()});
});
var jsonUsers = JSON.stringify(users);
var mailGroup = ({"mailingGroup" : $('#mGroup').val(), "users" : users});
$('#mail_overlay').css('z-index', 1).css('opacity', 0);
$('#mail_modal_form').css('z-index', 1).css('opacity', 0);
showLoader();
$.ajax({
type : "POST",
contentType : "application/json;charset=utf-8",
url : "newmailgroup",
data : JSON.stringify(mailGroup),
dataType : 'json',
timeout : 100000,
beforeSend: function(xhr){
xhr.setRequestHeader(header, token);
},
success : function(data) {
$('#message').append(data.message);
$('#mGroup').val('');
closeLoader();
$('#mail_overlay').css('z-index', 3).css('opacity', 0.8);
$('#mail_modal_form').css('z-index', 5).css('opacity', 1);
},
error : function(e) {
console.log("ERROR: ", e);
show(e);
closeLoader();
$('#mail_overlay').css('z-index', 3).css('opacity', 0.8);
$('#mail_modal_form').css('z-index', 5).css('opacity', 0.8);
}
});
}
Есть конвертер:
public class StringToUserConverter implements Converter<String, Users> {
//@Autowired
@Resource(name = "userService")
private UserService userService;
@Autowired
public StringToUserConverter(UserService userService) {
this.userService = userService;
}
public Users convert(String id) {
Users user = null;
try{
BigInteger IntId = new BigInteger(id);
user = userService.findUserById(IntId);
}catch(Exception ex){
user = userService.findByLogin(id);
}
System.out.println("User : " + user);
return user;
}
}
Если поставить users: null, то группу сохраняет, если делать так, как описано в js, то до controller'а не доходит запрос. Что я делаю не так?
Мне интересна работа с фрагментами и диалогФрагментамиВот я нашёл проект, но я смотрю его и у меня куча вопросов
Здравствуйте, есть таблица, id генерируется базой данных, после удаления строки образуется провал пример:
Я сериализовал класс и отправил его по сети от сервера к клиентуКлиент должен восстановить состояние класса