申し訳ありませんが、誤ったエラーが投稿されたために投稿を編集しました。spring + hibernateを使用して1つのJSPファイルに2つの異なるSQLテーブルをロード
私はMySQL上に2つのテーブルを持っており、それらを両方とも単一のJSPページに表示しようとしています。
これを達成するために私は@RequestMapping
を使用しています。
@RequestMapping(value = "/persons", method = RequestMethod.GET)
public String listFolders(Model model) {
model.addAttribute("folders", new Folders());
model.addAttribute("listFolders", this.foldersService.listFolders());
return "person"; //name of the jsp page
}
@RequestMapping(value = "/folders", method = RequestMethod.GET)
public String listPersons(Model model) {
model.addAttribute("person", new Person());
model.addAttribute("listPersons", this.personService.listPersons());
return "person"; //name of the jsp page
}
私は、同じJSPページに両方のテーブルを表示する必要がありますが、私は/フォルダにアクセスしようとした場合、それは文句を言わない人のテーブルを認識するので、私はerrosを取得します。私のJSPファイル内
アクション:
<c:if test="${!empty listPersons}">
<table class="tg">
<tr>
<th width="80">Person ID</th>
<th width="120">Person Name</th>
<th width="120">Person Country</th>
</tr>
<c:forEach items="${listPersons}" var="person">
<tr>
<td>${person.id} </td>
<td>${person.name}</td>
<td>${person.country}</td>
</tr>
</c:forEach>
</table>
そして:
<c:if test="${!empty listFolders}">
<table class="tg">
<tr>
<th width="80">Folders ID</th>
<th width="120">Folders Parent</th>
</tr>
<c:forEach items="${listFolders}" var="person">
<tr>
<td>${folders.id} </td>
<td>${folders.parent}</td>
</tr>
</c:forEach>
</table>
Erros:
Jun 06, 2017 5:53:07 PM org.apache.catalina.core.StandardWrapperValve invoke
SEVERE: Servlet.service() for servlet [appServlet] in context with path
[/CitelumApp] threw exception [java.lang.IllegalStateException: Neither
BindingResult nor plain target object for bean name 'person' available as
request attribute] with root cause
java.lang.IllegalStateException: Neither BindingResult nor plain target object for bean name 'person' available as request attribute
at org.springframework.web.servlet.support.BindStatus.<init>
私の質問は: 同じJSPページに2つの異なるSQLテーブルを表示する方法はありますか?
ご回答いただきありがとうございます。 私はそれを変えることができます。しかし、私はいつも$ {person.name}や$ {person.id}のような関数を呼び出しているので、JSPファイルではエラーが発生します。 私は値/フォルダを置くと、それは人間のテーブルを認識しません –
あなたのJSP(foreachループ)の一部を投稿することはできますか? –
いくつかのコードを共有し、達成しようとしていることを詳しく説明します。あなたは 'model.addAttribute()'を一つのコントローラマッピングに入れて、そのコントローラマッピングだけを使用してみてください。 –