Hy guys,
我已经搜索了一个解决方案,但我找不到一个。 所以这里我的问题: 我想在JSP中使用数据库中的内容创建一个下拉列表。
JSP代码:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<link href="css/dropdown.css" rel="stylesheet" type="text/css" />
</head>
<body>
<jsp:include page="head.htm"/>
<div id="content">
<form method="post" action="SaveKunde.html">
<br/>
<br/>
<table class="editing">
<colgroup>
<col class="attribute"/>
<col class="value"/>
</colgroup>
<tbody>
<tr>
<td>Vorname:</td>
<td>
<input type="hidden" name="id" value='<c:out value="${kunde.id}"/>'/>
<input type="text" name="vorname" value='<c:out value="${kunde.vorname}"/>' size="50" />
</td>
</tr>
<tr>
<td>Nachname:</td>
<td>
<input type="text" name="nachname" value='<c:out value="${kunde.nachname}"/>' size="50" />
</td>
</tr>
<tr>
<td>Telefonnummer:</td>
<td>
<input type="text" name="telefon" value='<c:out value="${kunde.telefon}"/>' size="50"/>
</td>
</tr>
<tr>
<td>E-Mail:</td>
<td>
<input type="text" name="mail" value='<c:out value="${kunde.mail}"/>' size="50"/>
</td>
</tr>
<tr>
<td>Abteilung:</td>
<td>
<select>
<c:forEach items="${abteilungen}" var="abteilung">
<option value="${abteilung.id}"><c:out value="${abteilung.bezeichnug}"/></option>
</c:forEach>
</select>
</td>
</tr>
<tr class="submit">
<td colspan="2">
<input type="submit" value=" Änderungen übernehmen "/>
</td>
</tr>
</tbody>
</table>
</form>
</div>
<div id="footer"> <a href="#">Loaner - der Harware-Verleih | | | Artem Lauks - - Stefan Kallmeyer - - Karin Hankofer</a></div>
</div>
</body>
</html>
AbteilungController代码:
package de.hdu.pms.ctrl;
import java.util.Date;
import org.apache.log4j.Logger;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.servlet.ModelAndView;
import de.hdu.pms.dao.AbteilungDao;
import de.hdu.pms.model.Abteilung;
@Controller
public class AbteilungController {
private static Logger log = Logger.getLogger(AbteilungController.class);
private AbteilungDao abteilungDao = null;
public void setAbteilungDao(AbteilungDao abteilungDao) {
this.abteilungDao = abteilungDao;
}
@RequestMapping(value="/EditAbteilung.html", method=RequestMethod.GET)
public ModelAndView edit(@RequestParam(required=false) Integer id) {
log.debug("EditAbteilung.html");
ModelAndView mv = new ModelAndView();
if (id == null) {
mv.addObject(new Abteilung());
} else {
mv.addObject(abteilungDao.findById(id));
}
mv.setViewName("edit-abteilung");
return mv;
}
/**
* <p>Saves a abteilung.</p>
*
* <p>Expected HTTP POST and request '/SaveAbteilung.html'.</p>
* @return
*/
@RequestMapping(value="/SaveAbteilung.html", method=RequestMethod.POST)
public String save(Abteilung abteilung, Model model) {
if (abteilung.getCreated() == null) {
abteilung.setCreated(new Date());
}
Abteilung result = abteilungDao.save(abteilung);
// set id from create
if (abteilung.getId() == null) {
abteilung.setId(result.getId());
}
model.addAttribute("statusMessageKey", "kunde.form.msg.success");
return "redirect:AlleAbteilungen.html";
}
/**
* <p>Deletes a abteilung.</p>
*
* <p>Expected HTTP POST and request '/LoescheAbteilung.html'.</p>
*/
@RequestMapping(value="/LoescheAbteilung.html", method=RequestMethod.GET)
public String delete(Abteilung abteilung) {
abteilungDao.delete(abteilung);
return "redirect:AlleAbteilungen.html";
}
/**
* <p>Searches for all abteilungen and returns them in a
* <code>Collection</code>.</p>
*
* <p>Expected HTTP GET and request '/AlleAbteilungen.html'.</p>
*/
@RequestMapping(value="/AlleAbteilungen.html", method=RequestMethod.GET)
public ModelAndView findAll() {
ModelAndView mv = new ModelAndView();
mv.addObject("title", "Vereinsmitglieder");
mv.addObject("message", "Alle Mitglieder des Vereins");
mv.addObject("abteilungen", abteilungDao.findAll());
mv.setViewName("list-abteilungen");
return mv;
}
}
----------------------------------------------- -------------- +
AbteilungDao代码:
package de.hdu.pms.dao;
import java.util.List;
import org.springframework.orm.hibernate3.HibernateTemplate;
import org.springframework.orm.hibernate3.support.HibernateDaoSupport;
import de.hdu.pms.model.Abteilung;
public class AbteilungDao extends HibernateDaoSupport {
/**
* Creates and saves a {@link AbteilungDao.java} object.
* @param bezeichnung
*/
public void create(String bezeichnung) {
Abteilung a = new Abteilung();
a.setBezeichnung(bezeichnung);
save(a);
}
/**
* returns a single abteilung by its primary db key
*
* @param id
* @return the Abteilung
*/
public Abteilung findById(int id) {
HibernateTemplate template = getHibernateTemplate();
return (Abteilung) template.get(Abteilung.class, id);
}
public Abteilung save(Abteilung abteilung) {
HibernateTemplate template = getHibernateTemplate();
template.saveOrUpdate(abteilung);
return abteilung;
}
public void delete(Abteilung abteilung) {
HibernateTemplate template = getHibernateTemplate();
template.delete(abteilung);
// "Die Abteilung kann nicht geloescht werden, da sie bereits Verleih_vorgaenge unternommen hat."
}
/**
* @return all Abteilung objects from the database.
*/
@SuppressWarnings("unchecked")
public List<Abteilung> findAll() {
HibernateTemplate template = getHibernateTemplate();
template.loadAll(Abteilung.class);
return template.find("FROM Abteilung");
}
}
现在下拉菜单的symbold就在那里,但没有内容。 你能帮帮我吗?
谢谢!