同样不是BindingResult也不是bean名称的普通目标对象

时间:2014-05-02 14:29:55

标签: java spring jsp java-ee

您好我正在解决上述异常:java.lang.IllegalStateException:BindingResult和bean名称'Projet'的普通目标对象都不可用作请求属性。请找我的jsp和控制器类。 我的代码如下所示。

控制器代码:

@Controller
@RequestMapping(value="/directeur")
public class AdminController {
    @Autowired
    private IAdmin directeur;
    @RequestMapping(value="/index")
    public String index(Model model)
    {
        model.addAttribute("Projet",new Projet());
        model.addAttribute("Projets",directeur.getAllProjet());
        return "Projets";

    }
    @RequestMapping(value="/saveProjet",method = RequestMethod.POST)
    public String saveProjet(Projet p,BindingResult result,Model model) throws IOException
    {
        if(result.hasErrors())
        {
            model.addAttribute("Projets",directeur.getAllProjet());
            return "Projets";
        }
        directeur.ajouterProjet(p);
        model.addAttribute("Projet",new Projet());
        model.addAttribute("Projets",directeur.getAllProjet());
        return "Projets";
    }
}

Jsp代码:

<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<%@taglib uri="http://www.springframework.org/tags/form" prefix="f"%>

<div id="formProjet">
    <f:form modelAttribute="Projet" action="saveProjet" method="POST"
        enctype="multipart/form-data">
        <table>
            <tr>
                <td>ID Projet</td>
                <td><f:input path="idProjet" /></td>
                <td><f:errors path="idProjet" cssClass="errors"/></td>
            </tr>
            <tr>
                <td>Nom</td>
                <td><f:textarea path="nomProjet" /></td>
                <td><f:errors path="nomProjet" cssClass="errors"/></td>
            </tr>
            <tr>
                <td>Description du Projet</td>
                <td><f:textarea path="description" /></td>
                <td><f:errors path="description" cssClass="errors"/></td>

            <tr><td><input type="submit" value="enregistrer"/></td></tr>
        </table>
    </f:form>
</div>
<div id="">

    <table>
        <tr>
            <th>ID</th>
            <th>Nom</th>
            <th>Description</th>
            <th>Photo</th>
        </tr>
        <c:forEach items="${Projets }" var="proj">
            <tr>
                <td>${proj.idProjet }</td>
                <td>${proj.nomProjet }</td>
                <td>${proj.description }</td>
                <td></td>

            </tr>
        </c:forEach>

    </table>
</div>

0 个答案:

没有答案