Я пытаюсь сделать простую форму отправки, используя теги формы Spring MVC, используя и внутри.
Когда моя форма выглядит следующим образом:
<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<html>
<head>
<title>Create Coupon</title>
</head>
<body style="background-color:powderblue;">
<h1> Create Coupon </h1>
<form:form action="company/create" method="POST" modelAttribute="theCoupon">
<form:input path="title"/>
<form:input path="startDate"/>
<form:input path="endDate"/>
<form:input path="amount"/>
<form:input path="message"/>
<form:input path="price"/>
<form:input path="image"/>
<input type="submit" value="submit">
</form:form>
</body>
</html>
Я получаю java.lang.IllegalStateException: Neither BindingResult nor plain target object for bean name 'theCoupon' available as request attribute
исключение.
при удалении
<form:input path="title"/>
<form:input path="startDate"/>
<form:input path="endDate"/>
<form:input path="amount"/>
<form:input path="message"/>
<form:input path="price"/>
<form:input path="image"/>
страница, кажется, загружается, я понятия не имею, является ли это реальной причиной ее взлома, есть идеи?
вот какконтроллер выглядит так:
package com.example.CouponProjectCore.rest;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import com.example.CouponProjectCore.customerDAO.CompanyDAO;
import com.example.CouponProjectCore.customerService.CompanyService;
import com.example.CouponProjectCore.customerService.CouponService;
import com.example.CouponProjectCore.entity.Company;
import com.example.CouponProjectCore.entity.Coupon;
import com.example.CouponProjectCore.entity.CouponType;
import com.example.CouponProjectCore.entity.Customer;
@Controller
@RequestMapping("/company")
public class CompanyController {
CompanyService companyService;
CouponService couponService;
@Autowired
public CompanyController(CompanyService companyService) {
this.companyService = companyService;
}
@GetMapping("/showAllCompany")
public String findAll(Model theModel) {
List<Company> companies = companyService.findAll();
System.out.println(companies);
theModel.addAttribute("companies", companies);
return "showAllCompanies";
}
@PostMapping("/company")
public String save(@ModelAttribute Company company,Model theModel) {
System.out.println
("inside save company method");
System.out.println(company);
company.setId(0);
companyService.save(company);
System.out.println(company);
theModel.addAttribute("company",company);
System.out.println(company);
return "savedCompany";
}
@PostMapping("/add")
public String newCoupon(Model theModel) {
theModel.addAttribute("theCoupon", new Coupon());
return "add";
}
@PostMapping("/create")
public String createNewCoupon(@ModelAttribute("theCoupon") Coupon theCoupon) {
theCoupon.setId(0);
couponService.save(theCoupon);
return "savedCoupon";
}
}
добавление случайных слов, поэтому мой пост не будет в основном кодом