Как получить значение поля радио th:field в серверной части (привязка Thymeleaf)JAVA

Программисты JAVA общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Как получить значение поля радио th:field в серверной части (привязка Thymeleaf)

Сообщение Anonymous »




Я работаю над проектом, используя Thymeleaf и Spring Boot. В моей форме у меня есть набор переключателей, динамически создаваемых с помощью Thymeleaf. Каждый переключатель связан с полем ввода текста, и я использую атрибуты th:field и th:value для привязки входных значений. Однако, когда я отправляю форму, поле th: для переключателя (respostaCorreta) отправляет как старое значение, так и новое значение th:, в результате чего получается что-то вроде «OldResponse,NewResponse». Я хочу отправить только новое значение (th:value) и игнорировать старое. Как мне этого добиться?
System.out.println("\\n\\n\\n" + questaoDTO.getRespostaCorreta() + "\\n\\n\\n");

Результат: TH:FIELD,TH:VALUE, но мне нужно только TH:VALUE.
Я хочу отправить только новое значение (th:value) и игнорировать старый. Как этого добиться?
Внешний интерфейс:



Título


Pontuação


Selecione uma foto para este quiz





Categoria




Pergunta [[${questaoStat.index} + 1]]


Pergunta


Resposta Correta



Pontos


Selecione uma imagem para
ilustrar a pergunta



Alternativas
















Adicionar Nova Pergunta
Salvar Quiz



Бэкенд:
@PostMapping("/quiz/{id}")

@Transactional
public String alterarQuiz(@ModelAttribute QuizDTO dto) {
Quiz existingQuiz = quizRepository.findById(dto.getId()).orElseThrow();

existingQuiz.setCategoria(dto.getCategoria());
existingQuiz.setTitulo(dto.getTitulo());
existingQuiz.setTotalPontos(dto.getTotalPontos());

ImagemQuiz imagemQuiz = existingQuiz.getImagem();
if (imagemQuiz == null) {
imagemQuiz = new ImagemQuiz();
imagemQuiz.setQuiz(existingQuiz);
}
imagemQuiz.setNomeArquivo(dto.getImagem().getArquivo().getOriginalFilename());

try {
imagemQuiz.setArquivo(dto.getImagem().getArquivo().getBytes());
} catch (IOException ex) {
// Tratar IOException aqui
}

existingQuiz.setImagem(imagemQuiz);

// Limpar e adicionar questões
existingQuiz.getQuestoes().clear();
for (QuestaoDTO questaoDTO : dto.getQuestoes()) {
Questao questaoEntity = new Questao();
questaoEntity.setTexto(questaoDTO.getTexto());
questaoEntity.setPontos(questaoDTO.getPontos());

System.out.println("\n\n\n" + questaoDTO.getRespostaCorreta() + "\n\n\n");
questaoEntity.setRespostaCorreta(questaoDTO.getRespostaCorreta());

// IMAGEM DA QUESTÃO BANCO DE DADOS
ImagemQuestao imagemEntity = new ImagemQuestao();
imagemEntity.setNomeArquivo(questaoDTO.getImagem().getArquivo().getOriginalFilename());

try {
imagemEntity.setArquivo(questaoDTO.getImagem().getArquivo().getBytes());
} catch (IOException ex) {
// Tratar IOException aqui
}

questaoEntity.setImagem(imagemEntity);

// ALTERNATIVAS DA QUESTÃO BANCO DE DADOS
List alternativasEntity = new ArrayList();
for (AlternativaDTO alternativaDTO : questaoDTO.getAlternativas()) {
Alternativa alternativaEntity = new Alternativa();
alternativaEntity.setTexto(alternativaDTO.getTexto());
alternativaEntity.setQuestao(questaoEntity);
alternativasEntity.add(alternativaEntity);
}

questaoEntity.setAlternativas(alternativasEntity);
questaoEntity.setQuiz(existingQuiz);
existingQuiz.getQuestoes().add(questaoEntity);
}

quizRepository.save(existingQuiz);
return "redirect:/backoffice/quiz";
}


Подробнее здесь: https://stackoverflow.com/questions/787 ... -thymeleaf
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «JAVA»