私は自分のフォームにコンボボックスを追加しようとしています。しかし、コンボボックスで、名前ではなく、何か他のものが表示されます... problem screenshotSpring MVC Combobox Issue
ここ私のソースコードがある([email protected]のような)
マイコントローラー:。
@RequestMapping("/tribunekle")
public String addTribune(Model model){
Tribune tribune = new Tribune();
List<Stadium> stadiumList = stadiumService.getAllStadiums();
model.addAttribute("tribune",tribune);
model.addAttribute("stadiumList",stadiumList);
return "tribunekle";
}
@RequestMapping(value = "/tribunekle",method = RequestMethod.POST)
public String addTribunePost(@ModelAttribute("tribune")Tribune tribune, BindingResult result){
if(result.hasErrors()){
return "tribunekle";
}
tribuneService.addTribune(tribune);
return "redirect:/admin/tribunler";
}
追加トリビューンJSP:
<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %>
<%@include file="template/adminheader.jsp"%>
<div class="col-sm-9 col-sm-offset-3 col-md-10 col-md-offset-2 main">
<div class="page-header">
<h2>Add tribune>
<p>Yeni tribun ekleyin</p>
</div>
<form:form action="${pageContext.request.contextPath}/admin/tribunler/tribunekle" method="POST" commandName="tribune">
<div class="form-group">
<label for="name">Tribune Name</label><form:errors path="tribuneName" css="color:#ff0000"/>
<form:input path="tribuneName" id="name" class="form-Control"/>
</div>
<div class="form-group">
<label for="stadium">Stadium</label>
<form:select path="stadium" items="${stadiumList}"/>
</div>
<input type="submit" value="Add" class="btn btn-default"/>
<a href="<c:url value="/admin/tribunler"/>" class="btn btn-default">Iptal</a>
</form:form>
</div>
public class Tribune implements Serializable{
private static final long serialVersionUID = -8200937968701786490L;
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private int tribuneId;
@NotEmpty(message = "Tribune name must not be null")
private String tribuneName;
@ManyToOne
@JoinColumn(name = "stadiumId")
@JsonIgnore
private Stadium stadium;
DaoImplソースコード
@Autowired
private SessionFactory sessionFactory;
@Autowired
private StadiumService stadiumService;
public void addTribune(Tribune tribune){
Session session = sessionFactory.getCurrentSession();
session.saveOrUpdate(tribune);
session.flush();
}
は、あなたのクラスcom.project.model.stadiumでtoStringメソッドを上書きしようとしたことがありますか? – RubioRic
またはフォームの使用についてのこの質問を見てください:http://stackoverflow.com/questions/22860381/what-is-formselect-path-in-spring-tag-used-for – RubioRic
@RubioRicありがとうございます。コンボボックスにスタジアム名が表示されます。しかし、ボタンをクリックしてボタンをクリックすると、このエラーが表示されます; java.lang.String型のプロパティ値をプロパティスタジアムの必須型com.biletdevret.model.Stadiumに変換できませんでした。ネストされた例外はjava.lang.IllegalStateExceptionです:プロパティスタジアムの必須タイプ[com.biletdevret.model.Stadium]にタイプ[java.lang.String]の値を変換できません:一致するエディタまたは変換ストラテジが見つかりません –