当前位置: 首页 > 知识库问答 >
问题:

使用Spring、Hibernate、JSP创建下拉列表

苏选
2023-03-14

应用:Hibernate、Spring 3.0 MVC、JSP(使用Spring表单)

要求:使用Hibernate从数据库中选择一个表数据,并使用Spring MVC将其显示为JSP页面中的下拉列表。

代码:Hibernate/道代码是

烹饪课

@Entity
@Table(name = "cuisine")
public class Cuisine {
    @Id
    @Column(name = "id")
    private int id;

    @Column(name = "name")
    private String name;

.. getters and setters

食谱DaoImpl类

public List<Cuisine> getCuisine() {
    String hql = "SELECT id, name FROM Cuisine";
    return getSession().createQuery(hql).list();
}

SpringMVC

@Controller
public class RecipeController {
...
    @RequestMapping("/add")
    public String newRecipe(Map<String, Object> map) {  
        /* Get cuisine list and new object for cuisine */
        List<Cuisine> cuisines = recipeServices.getCuisine();
        System.out.println(cuisines);
        map.put("cuisineList", cuisines);
        map.put("cuisine", new Cuisine());

        return "recipes/new";
    }

JSP页面:

<%@ taglib prefix="sf" uri="http://www.springframework.org/tags/form"%>

<tr>
    <th><sf:label path="cuisine">Cuisine</sf:label></th>
</tr>

<tr>
    <td><sf:select path="${cuisineList}">
             <sf:options items="${cuisine}"></sf:options>
        </sf:select></td>
    </tr>

在这样做时,我收到以下错误:

org.springframework.beans.NotReadablePropertyException: Invalid property '[Cuisine [id=1, name=Continental][id=2, name=Italian]' of bean class [com.recipe.tables.Recipe]: Bean property '[Cuisine [id=1, name=Continental][id=2, name=Italian]' is not readable or has an invalid getter method: Does the return type of the getter match the parameter type of the setter?
    org.springframework.beans.BeanWrapperImpl.getPropertyValue(BeanWrapperImpl.java:729)
    org.springframework.beans.BeanWrapperImpl.getPropertyValue(BeanWrapperImpl.java:721)
    org.springframework.validation.AbstractPropertyBindingResult.getActualFieldValue(AbstractPropertyBindingResult.java:99)
    org.springframework.validation.AbstractBindingResult.getFieldValue(AbstractBindingResult.java:219)
    org.springframework.web.servlet.support.BindStatus.<init>(BindStatus.java:120)

有人能建议如何解决这个问题吗?我已经检查了几篇文章,并试图复制它们,但没有成功。

共有1个答案

南门星河
2023-03-14

我认为jsp应该是

<td><sf:select path="${cuisine}">
         <sf:options items="${cuisineList}" id="id" itemValue="name"></sf:options>
    </sf:select></td>
</tr>
 类似资料:
  • 我期待城市列表中的城市名单基于代码的输入。 请求你的协助。

  • 目前,我只能通过单击“Add”按钮在jsf中创建两个下拉列表。 最初我有一个表单有两个下拉列表,一个“添加”按钮和一个“提交”按钮。 请给我一些示例代码来做这件事。 谢谢

  • 因此,我一直在使用Spring MVC和jsp开发一个web应用程序,我遇到了一个关于下拉列表的问题,该列表应该显示在所有JSP页面中,但是一旦我单击下拉列表中的一个选项,它在其他页面中就变成空白。 以下是的代码: -我的header.tag: -我的index.jsp -我的1.jsp(点击下拉列表第一选择后显示的那个): 你们对这个问题有什么看法??

  • 我有一个应用程序,在JSP页面中,我显示一个下拉列表,但我的代码中有一个例外。 控制器类别:- addDetails.jsp·佩奇 我得到了以下异常:- 它只是一个Spring MVC Web应用程序,我试图在其中显示预先填充了颜色数据的卓尔向下列表。 非常感谢任何帮助。

  • 问题内容: react-bootstrap站点中的示例代码显示以下内容。我需要使用数组来驱动选项,但是在查找将要编译的示例时遇到了麻烦。 问题答案: 您可以从这两个功能开始。第一个将基于传递到页面的道具动态创建您的选择选项。如果将它们映射到状态,则选择将自行重新创建。 然后,您将在render内部拥有此代码块。您将传递一个对onChange道具的函数引用,每次调用onChange时,所选对象将自动

  • 我在Servlet中使用SortedMap来填充JSP中的下拉列表值,我有以下代码 在JSP中 我正在使用一个 JSP 页进行插入和更新。当我编辑页面时,如何将所选值设置为下拉列表,其中所选值将来自数据库。