Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
org.springframework.web.util.NestedServletException Netbeans_Spring_Jakarta Ee_Netbeans_Tiles - Fatal编程技术网

org.springframework.web.util.NestedServletException Netbeans

org.springframework.web.util.NestedServletException Netbeans,spring,jakarta-ee,netbeans,tiles,Spring,Jakarta Ee,Netbeans,Tiles,我正在使用Spring框架开发一个web应用程序。 问题是,当我试图在数据库中添加一篇文章时,它显示了NestedServlet异常。有人能帮我吗? 这是我的控制器类: @Controller public class Controler { ArticleFacadeLocal articleModel; CategorieFacadeLocal categorieModel; ConnexionFacadeLocal connexionModel; publ

我正在使用Spring框架开发一个web应用程序。 问题是,当我试图在数据库中添加一篇文章时,它显示了NestedServlet异常。有人能帮我吗? 这是我的控制器类:

@Controller
public class Controler {
    ArticleFacadeLocal articleModel;
    CategorieFacadeLocal categorieModel;
    ConnexionFacadeLocal connexionModel;

    public Controler(){
        articleModel = new ArticleModel();
        categorieModel = new CategorieModel();
        connexionModel = new ConnexionModel();
    }

    @RequestMapping("/home.do")
    public String home(HttpServletRequest request){
        if(isConnected(request))
        return addPage(request);
        else return "page:login";
    }

    @RequestMapping("login.do")
    public String login(HttpServletRequest request){

           String login=request.getParameter("login");
           String password=request.getParameter("password");

           if(ConnexionModel.connect(login, password)){
               request.getSession().setAttribute("login",login);
               ServletContext application=request.getServletContext();
               application.setAttribute("categories", categorieModel.findAll());
               return addPage(request);}
           else
                request.setAttribute("error",true);
           return "forward:/home.do";
    }

    @RequestMapping("logout.do")
public String logout(HttpServletRequest request)   {
    request.getSession(false).invalidate();
       return "forward:/home.do";
}

@RequestMapping("articles.do")
public String list(HttpServletRequest request){
     request.setAttribute("articles",articleModel.findAll());
    return "page:articles";
 }
@RequestMapping("addPage.do")
public String addPage(HttpServletRequest request){
        request.setAttribute("categories", categorieModel.findAll());
    return "page:add";

}
 @RequestMapping("add.do")
    public String add(HttpServletRequest request){
       try{
    Article a=getArticleFromView(request);
    articleModel.create(a);
    request.setAttribute("error", false);
    }catch(Exception e){request.setAttribute("error", true);}
    return "forward:/addPage.do";
   }   

  @RequestMapping("modifyPage.do")
    public String  modiyPage(HttpServletRequest request){
        int idArticle=Integer.parseInt(request.getParameter("idArticle"));
        request.setAttribute("categories", categorieModel.findAll());
        Article article = articleModel.find(idArticle);
    request.setAttribute("article", article);
    return "page:modify";
    }


    @RequestMapping("modify.do")
    public String  modify(HttpServletRequest request){      
    try{
            Article a=getArticleFromView(request);
            articleModel.edit(a);                       
            return "forward:/articles.do";
        }catch(Exception e){
                request.setAttribute("error", true);
                return "forward:/modifyPage.do";
        }               
    }
    @RequestMapping("searchPage.do")
    public String  searchPage(HttpServletRequest request){
    return "page:search";
    }

    @RequestMapping("search.do")
    public String  search(HttpServletRequest request){
        String libelle=request.getParameter("libelle");
    request.setAttribute("article",articleModel.find(libelle));
    return "page:search";
    }


 public boolean isConnected(HttpServletRequest request){
        HttpSession session = request.getSession(false);//recupere une session sans la creer
        return (session!=null && session.getAttribute("login")!=null);

    }

 public Article getArticleFromView(HttpServletRequest request){
     Article a = new Article();
     String libelle = request.getParameter("libelle");
     String description = request.getParameter("description");
     String prix = request.getParameter("prix");
     String qte = request.getParameter("qte");
     String categorie = request.getParameter("categorie");
     a.setLibelle(libelle);
     a.setDescription(description);
     a.setPrix(Double.parseDouble(prix));
     a.setQte(Integer.parseInt(qte));
     a.setCategorie(new Categorie(categorie));
     return a;
 }
}
这是我的jsp文件

<%@include file="include.jsp" %>
<form  action="add.do" method="post">
<table  align="center">

<tr >
        <td>Libelle :
    <td><input type="text" required="required" name="libelle"/>
</tr>   
<tr >
        <td>Description : 
    <td><input type="text" required="required" name="description">
</tr>
<tr>
    <td>Prix :
    <td><input type="text" required="required"  name="prix">
</tr>

<tr>
    <td>Quantité :
    <td><input type="text" required="required"  name="qte">
</tr>
<tr  >
    <td> Catégorie :
    <td>
    <select name="categorie" >
        <c:forEach items="${categories}" var="c"> 
            <option value="${c.idCategorie}"> ${c.libelleCategorie} </option>
        </c:forEach>        
    </select>

</tr>
<tr align="center" >
    <td  colspan="2"><button type="submit" id="btn">Ajouter</button></td>
</tr>

</table>

</form>

<c:if test="${not empty error && error}"> <p style="color: red;">   Echec d'ajout de l'article </p></c:if>
<c:if test="${not empty error && not error}"> <p style="color: green;">Article ajouté avec succes </p></c:if>
我没有使用Maven

org.springframework.web.util.NestedServletException: Request processing failed; nested exception is org.hibernate.AssertionFailure: null id in model.beans.Article entry (don't flush the Session after an exception occurs)
cause première

org.hibernate.AssertionFailure: null id in model.beans.Article entry (don't flush the Session after an exception occurs)