[英]how to display information in jsp page from controller Spring MVC
我需要在帶有控制器的jsp中顯示數據,我具有帶有要在jsp中打印的信息的List
。
運行此代碼時出現錯誤:
HTTP狀態500-請求處理失敗; 嵌套的異常是org.springframework.beans.BeanInstantiationException:無法實例化[entities.Pupil]:沒有找到默認的構造函數;默認是0。 嵌套的異常是java.lang.NoSuchMethodException:Entitys.Pupil。()
控制者
@Controller
public class PupilController {
@RequestMapping(value = "/add", method = RequestMethod.POST)
public List add(@ModelAttribute Pupil pupil){
System.out.println(pupil.toString());
List<Pupil> pupilList = new ArrayList<Pupil>();
pupilList.add(new Pupil(1, "Name", "Last", 13));
pupilList.add(new Pupil(2, "Name", "Last", 55));
pupilList.add(new Pupil(3, "Name", "Last", 41));
return pupilList;
}
}
index.jsp
<body>
<h2>Hello World!</h2>
<a href="hello">click</a>
<form action="/add" method="post">
<p>1:</p><input type="text" name="one">
<p>2:</p><input type="text" name="two">
<p>3:</p><input type="text" name="three">
<p>4:</p><input type="text" name="four">
<input type="submit" value="button">
</form>
</body>
add.jsp
<body>
<h3>This is add.jsp</h3>
<table>
<thead>
<tr>
<td>ID</td>
<td>NAME</td>
<td>LAST</td>
<td>YEAR</td>
</tr>
</thead>
<tbody>
<c:forEach items="${pupilList}" var="tester">
<tr>
<td>${tester.id}</td>
<td>${tester.name}</td>
<td>${tester.last}</td>
<td>${tester.year}</td>
</tr>
</c:forEach>
</tbody>
</table>
</body>
嘗試這個
@RequestMapping(value = "/add", method = RequestMethod.POST)
public ModelAndView add(@ModelAttribute Pupil pupil){
System.out.println(pupil.toString());
List<Pupil> pupilList = new ArrayList<Pupil>();
pupilList.add(new Pupil(1, "Name", "Last", 13));
pupilList.add(new Pupil(2, "Name", "Last", 55));
pupilList.add(new Pupil(3, "Name", "Last", 41));
ModelAndView view = new ModelAndView();
view.addObject(pupilList);
return view;
}
要么
@RequestMapping(value = "/add", method = RequestMethod.POST)
public String add(@ModelAttribute Pupil pupil, ModelMap model){
System.out.println(pupil.toString());
List<Pupil> pupilList = new ArrayList<Pupil>();
pupilList.add(new Pupil(1, "Name", "Last", 13));
pupilList.add(new Pupil(2, "Name", "Last", 55));
pupilList.add(new Pupil(3, "Name", "Last", 41));
model.put("pupilList", pupilList);
return "page-name";
}
在代碼中進行以下更改。
default constructor
。 <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
包括JSTL的 pom條目。
<dependency> <groupId>javax.servlet.jsp.jstl</groupId> <artifactId>jstl</artifactId> <version>1.2</version> </dependency>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.