vendredi 30 septembre 2016

how do I pass the selected parameters in the checkbox from one jsp page to another jsp page?

I have to make the switch to selected values ​​within some checkboxes in a jsp page but after the selection and after pressing the "Send" button, I generate this error with the following description: HTTP Status 400: The request sent by the client was syntactically incorrect.

Where am I wrong?

TaskController.java

@RequestMapping(value="/newTask", method = RequestMethod.GET)
    public String task(@ModelAttribute Task task, Model model) {
        Authentication auth = SecurityContextHolder.getContext().getAuthentication();
        String s = auth.getName();
        Student student = studentFacade.retrieveUser(s);
        List<Job> jobs = new ArrayList<>();
        if(!(auth instanceof AnonymousAuthenticationToken)) {
            jobs = facadeJob.retriveAlljobs();
            model.addAttribute("job", getMathRandomList(jobs));
            model.addAttribute("image", imageFacade.retriveAllImages());
            List<Image> img = imageFacade.retriveAllImages();
            task.setImages(img);
            task.setStudent(student);
            taskFacade.addTask(task);
            List<Long> images = new ArrayList<>();
            for(Image i : img)
                images.add(i.getId());
            model.addAttribute("images", images);


        }
        return "users/newTask";
    }

    @RequestMapping(value="/taskRecap", method = RequestMethod.POST)
    public String taskRecap(@ModelAttribute Task task, Model model,BindingResult result) {
        model.addAttribute("task", task);
        return "users/taskRecap";
    }

newTask.jsp

<form:form method="post" action="taskRecap" modelAttribute="task" name="form">
    <form:checkboxes path="images" items="${images}"  value="yes" />
        <td><input type="submit" value="Send" /></td>
 </form:form>

taskRecap.jsp

Immages

<c:forEach var="image" items="${task.images}">
        <c:out value="${image.id}" />
        </c:forEach>

Task.java

@Entity
public class Task {

    @Id
    @GeneratedValue(strategy = GenerationType.AUTO)
    private Long id;
    @ManyToOne
    private Student student;
    @ManyToMany
    List<Image> images;


    public Student getStudent() {
        return student;
    }

    public void setStudent(Student student) {
        this.student = student;
    }

    public Task() {

    }

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public Task(Long id, Student student, List<Image> images) {
        super();
        this.id = id;
        this.student = student;
        this.images = images;
    }

    public List<Image> getImages() {
        return images;
    }

    public void setImages(List<Image> images) {
        this.images = images;
    }
}




Aucun commentaire:

Enregistrer un commentaire