我想用一个弹簧形式绑定: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提供://
任何一个人都可以为我的毕业设计需要它 并提前感谢