如何使用表单提交弹簧表单:选择

时间:2014-05-17 14:13:14

标签: forms spring

我想用一个弹簧形式绑定:select 但我不知道该怎么做 这是我的表格jsp:

<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ include file="../layout/taglib.jsp" %>

<form:form commandName="article" cssClass="form-horizontal">

 <c:if test="${param.success eq true }">
  <div class="alert alert-success">Article added successfully!</div>
  </c:if>

  <div class="form-group">
 <label for="idArt" class="col-sm-2 control-label">Numero Article :</label>
 <div class="col-sm-10">
 <form:input path="idArt" cssClass="form-control"/>
 </div>
  </div>

 <div class="form-group">
 <label for="designation" class="col-sm-2 control-label">Designation :</label>
 <div class="col-sm-10">
 <form:input path="designation" cssClass="form-control"/>
 </div>
 </div>

 <div class="form-group">
 <label for="ref_Art" class="col-sm-2 control-label">reference :</label>
 <div class="col-sm-10">
 <form:input path="ref_Art" cssClass="form-control"/>
 </div>
 </div>

 <div class="form-group">
 <label for="codeABr" class="col-sm-2 control-label">Code a bare :</label>
 <div class="col-sm-10">
  <form:input path="codeABr" cssClass="form-control"/>
 </div>
  </div>

 <div class="form-group">
 <label for="quantite" class="col-sm-2 control-label">Quantité :</label>
 <div class="col-sm-10">
 <form:input path="quantite" cssClass="form-control"/>
 </div>
 </div>

 <div class="form-group">
 <label for="quantite_min" class="col-sm-2 control-label">Quantité Min :</label>
 <div class="col-sm-10">
   <form:input path="quantite_min" cssClass="form-control"/>
 </div>
 </div>

  <div class="form-group">
   <label for="prix_HTVA" class="col-sm-2 control-label">Prix HTVA :</label>
  <div class="col-sm-10">
     <form:input path="prix_HTVA" cssClass="form-control"/>
   </div>
  </div>

    <div class="form-group">
   <label for="TVA" class="col-sm-2 control-label">TVA :</label>
    <div class="col-sm-10">
    <form:input path="TVA" cssClass="form-control"/>
  </div>
   </div>

  <div class="form-group">
 <label for="marque" class="col-sm-2 control-label">Marque :</label>
 <div class="col-sm-10">
  <form:select path="marque" class="form-control">
  <c:forEach items="${marques }" var="marque">
   <form:option value="${marque.description }">${marque.description }</form:option>
  </c:forEach>
    </form:select>
 </div>
  </div>

  <div class="form-group">
  <label for="marque" class="col-sm-2 control-label">Categorie :</label>
  <div class="col-sm-10">
   <form:select path="categorie" class="form-control">
 <c:forEach items="${categories }" var="categorie">
 <form:option value="${categorie.nomCat }">${categorie.nomCat }</form:option>
 </c:forEach>
 </form:select>
  </div>
 </div>



<div class="form-group">
<div class="col-sm-10">
<input type="submit" value="save" class="btn btn_lg btn-primary"/>
  </div>
 </div>


 </form:form>

这是我的控制者:

    package com.net.gestcom.controller;

  import org.springframework.beans.factory.annotation.Autowired;
  import org.springframework.stereotype.Controller;
 import org.springframework.ui.Model;
 import org.springframework.web.bind.annotation.ModelAttribute;
 import org.springframework.web.bind.annotation.PathVariable;
 import org.springframework.web.bind.annotation.RequestMapping;
  import org.springframework.web.bind.annotation.RequestMethod;

 import com.net.gestcom.entity.Article;
   import com.net.gestcom.entity.Categorie;
 import com.net.gestcom.entity.Client;
 import com.net.gestcom.entity.Marque;
 import com.net.gestcom.repository.MarqueRepository;
   import com.net.gestcom.service.CategorieService;
  import com.net.gestcom.service.MarqueService;
 import com.net.gestcom.service.StockListService;




 @Controller
  public class StockListController {

@Autowired
private StockListService stockListService;

@Autowired
private CategorieService categorieService;



@Autowired
private MarqueService marqueService;


@ModelAttribute
public Categorie constructCat(){
    return new Categorie(); 
} 

@ModelAttribute
public Marque constructMarque(){
    return new Marque(); 
} 

@ModelAttribute("article")
public Article constructArt(){
    return new Article();
}


@RequestMapping("/articles")
public String stockList (Model model){
    model.addAttribute("articles", stockListService.findAll());
    return "articles";


}

@RequestMapping("/categories")
public String categList(Model model){
    model.addAttribute("categories", categorieService.findAll());

    return "categories";
}

@RequestMapping("/marque")
public String marqueList(Model model){
    model.addAttribute("marques", marqueService.findAll());
    return "marque";

}

@RequestMapping(value="/categories" ,method=RequestMethod.POST )
public String doAddCat (@ModelAttribute("categorie") Categorie categorie){
      categorieService.save(categorie);
        return "redirect:/categories.html";
}

@RequestMapping(value="/marque" ,method=RequestMethod.POST )
public String doAddMarque (@ModelAttribute("marque") Marque marque){
      marqueService.save(marque);
        return "redirect:/marque.html";
  }

@RequestMapping("/articleForm")
public String showArtForm(Model model){
     model.addAttribute("categories", categorieService.findAll());
    model.addAttribute("marques", marqueService.findAll());
    return "articleForm";
}




@RequestMapping(value="/articleForm" ,method=RequestMethod.POST )
public String doAddArticle (@ModelAttribute("article") Article article){
      stockListService.save(article);
        return "redirect:/articleForm.html?success=true";
 }

@RequestMapping("/article/{idArt}")
public String findArt(@PathVariable Long idArt){
    stockListService.findOne(idArt);
    return "redirect:/articles.html";
}



        @RequestMapping("/article/remove/{idArt}")
        public String removeArt(@PathVariable Long idArt ){
    stockListService.delete(idArt);
    return "redirect:/articles.html";
}

        @RequestMapping("/categorie/{idCat}")
        public String findCat(@PathVariable Long idCat){
            categorieService.findOne(idCat);
            return "redirect:/categories.html";
        }



                @RequestMapping("/categorie/remove/{idMarque}")
                public String removeCat(@PathVariable Long idCat ){
            categorieService.delete(idCat);
            return "redirect:/categories.html";
        }

                @RequestMapping("/marque/{idMarque}")
                public String findMarque(@PathVariable Long idMarque){
                    marqueService.findOne(idMarque);
                    return "redirect:/marque.html";
                }



                        @RequestMapping("/marque/remove/{idMarque}")
                        public String removeMarque(@PathVariable Long            idMarque ){
                    marqueService.delete(idMarque);
                    return "redirect:/marque.html";
                }

}

这是我的视图解析器

   <bean id="tilesConfigurer"       class="org.springframework.web.servlet.view.tiles3.TilesConfigurer">
   <property name="definitions">
    <list>
        <value>/WEB-INF/defs/general.xml</value>

    </list>
  </property>
 </bean>

<bean id="viewResolver"        class="org.springframework.web.servlet.view.UrlBasedViewResolver">
<property name="viewClass" value="org.springframework.web.servlet.view.tiles3.TilesView"/>
</bean>

这是我的文章课

package com.net.gestcom.entity;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.Collection;
import java.util.HashSet;
import java.util.List;
import java.util.Set;

 import javax.persistence.CascadeType;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.JoinTable;
import javax.persistence.ManyToMany;
import javax.persistence.ManyToOne;
import javax.persistence.OneToMany;






   /**
  * Entity implementation class for Entity: Article
   * 
   */
   @Entity
   public class Article implements Serializable {

@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long idArt;

private String ref_Art;

private String designation;
private String codeABr;

private int prix_HTVA;

private int TVA;
@ManyToOne
@JoinColumn(name="idCat")
private Categorie categorie;
@ManyToOne
@JoinColumn(name="idMarque")
private Marque marque;

private int quantite;

private int quantite_min;
@OneToMany(fetch=FetchType.EAGER,cascade=CascadeType.ALL, mappedBy="article")




public Long getIdArt() {
    return idArt;
}

public void setIdArt(Long idArt) {
    this.idArt = idArt;
}

public String getRef_Art() {
    return ref_Art;
}

public void setRef_Art(String ref_Art) {
    this.ref_Art = ref_Art;
}

public String getDesignation() {
    return designation;
}

public void setDesignation(String designation) {
    this.designation = designation;
}

public String getCodeABr() {
    return codeABr;
}

public void setCodeABr(String codeABr) {
    this.codeABr = codeABr;
}



public int getPrix_HTVA() {
    return prix_HTVA;
}

public void setPrix_HTVA(int prix_HTVA) {
    this.prix_HTVA = prix_HTVA;
}

public int getTVA() {
    return TVA;
}

public void setTVA(int tVA) {
    TVA = tVA;
}

public Categorie getCategorie() {
    return categorie;
}

public void setCategorie(Categorie categorie) {
    this.categorie = categorie;
}

public Marque getMarque() {
    return marque;
}

public void setMarque(Marque marque) {
    this.marque = marque;
}

public int getQuantite() {
    return quantite;
}

public void setQuantite(int quantite) {
    this.quantite = quantite;
}

public int getQuantite_min() {
    return quantite_min;
}

public void setQuantite_min(int quantite_min) {
    this.quantite_min = quantite_min;
}

}

我会注意到除了提交按钮之外的每个思考工作 它给了我这个错误 我认为问题出在控制器中,但我并不确切知道 请帮帮我,我被困了

HTTP ERROR 400

访问/articleForm.html时遇到问题。原因是:

Bad Request

由Jetty提供://

任何一个人都可以为我的毕业设计需要它 并提前感谢

0 个答案:

没有答案