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

Spring mvc和jsp未显示下拉列表

计光赫
2023-03-14

我有一个应用程序,在JSP页面中,我显示一个下拉列表,但我的代码中有一个例外。

public class ExpenseCreationBean {
    private String color;

public String getColor() {
        return color;
    }

    public void setColor(String color) {
        this.color = color;
    }
}

控制器类别:-

@RequestMapping(value = "/addDetails", method = RequestMethod.GET)
    public String getExpenseEntryPage(Model model) {
        ExpenseCreationBean expenseCreationBean = new ExpenseCreationBean();
        model.addAttribute("expenseCreationBean", expenseCreationBean);
        List<String> coloursList = new ArrayList<String>();
        coloursList.add("red");
        coloursList.add("green"); 
        coloursList.add("yellow");
        coloursList.add("pink");
        coloursList.add("blue");
        model.addAttribute("colours", coloursList);
        System.out.println("I was here!!");
        return "addDetails";
    }

addDetails.jsp·佩奇

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
 pageEncoding="ISO-8859-1"%>
 <%@ taglib uri="http://www.springframework.org/tags/form" prefix="form" %>
<html>
<head>
<title>Add Details</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet"
    href="//code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css">
<script src="https://code.jquery.com/jquery-1.12.4.js"></script>
<script src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script>
<script>
    $(function() {
        $("#datepicker").datepicker({
            showOn : "button",
            buttonImage : "images/calendar.png",
            buttonImageOnly : true,
            buttonText : "Select date"
        });
    });
</script>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
</head>
<body>
    <h1>Expense Entry Details</h1>
    <form:form method="post" action="savedata" modelAttribute="expenseCreationBean">
        <table border="6px" cellspacing="10px" cellpadding="10px">
            <tr>
                <td>Date Of Purchase: <input type="text" id="datepicker"
                    name="date_of_purchase"></td>
                <td>Item Name:<input type="text" name="description"></td>
                <td>Please select:</td>
                <td><form:select path="color">
                      <form:option value="" label="...." />
                      <form:options items="${colours}" />
                       </form:select>
                                </td>
                <td>Paid By: <select name="paid_by"></td>
                <td>Amount Paid:<input type="text" name="total_price"
                    id="total_price"></td>
                <td>Quantity:<input type="text" name="quantity_purchased"></td>
                <td>Unit:<input type="text" name="unit"></td>
            </tr>
            <tr>
            <tr>
            <tr>
            <tr>
                <td>Exclude:</td>
                <td><input TYPE="checkbox" name="exclude">
            </tr>
            <tr>
                <td>Comments:<textarea rows="3" cols="25" name="comments"></textarea>
                </td>
            </tr>
            <tr>
                &emsp;&emsp;&emsp;&emsp;&emsp;&emsp;&emsp;&emsp;&emsp;&emsp;&emsp;&emsp;
                <td><input type="submit" value="Save" align="middle"></td>
        </table>
    </form:form>
</body>
</html>

我得到了以下异常:-

javax.servlet.jsp.JspException: Type [java.lang.String] is not valid for option items
    org.springframework.web.servlet.tags.form.OptionWriter.writeOptions(OptionWriter.java:143)
    org.springframework.web.servlet.tags.form.OptionsTag.writeTagContent(OptionsTag.java:157)
    org.springframework.web.servlet.tags.form.AbstractFormTag.doStartTagInternal(AbstractFormTag.java:84)

它只是一个Spring MVC Web应用程序,我试图在其中显示预先填充了颜色数据的卓尔向下列表。

非常感谢任何帮助。

共有2个答案

酆俊远
2023-03-14

尝试添加到映射,而不是数组列表。

Map<String,String> coloursList = new HashMap<String,String>();
coloursList.put("R","red");
coloursList.put("R","green");
coloursList.put("Y","yellow");
coloursList.put("P","pink");
劳灵均
2023-03-14

我在addDetails顶部添加了以下行。jsp文件,它可以工作:-

 类似资料:
  • 示例:http://www.studentbridges.org/new/ 我试图使我的导航栏横跨网页顶部,我得到了导航的div横跨网页,但是当我把导航菜单放在div里面时,下拉停止工作,并且链接不是居中的,不管我做什么(text-align:在CSS中的居中和标题中的标记不起作用)。 下面是我的代码: 导航 顶部导航分区: 任何关于问题可能是什么的投入将非常感谢! HTML:

  • 我在五月有一个剑道MVC下拉列表。我正在成功地将所选值从中保存到数据库中。当我来编辑数据时,该值从模型中正确返回并在下拉树中设置,但是,在下拉树中没有任何项目被视觉上选中。 当我尝试从单击按钮读取下拉树的值时,它正确地返回该值。 上面的javascript警报正确返回该值,但在DropdownTree中没有显示选定的项目。我还尝试删除ValuePrimitive属性,但没有任何效果。 有人能帮我找

  • 我感谢每个人给我的帮助。我现在的下拉框似乎在变化,但它是空白的。我正在使用的当前编码编辑如下: 当我检查页面上的空下拉元素时,我会得到这个: 警告:scandir(/home/rev/public_html/evo/.../用户/成瘾)[function.scandir]:无法打开dir:在行117的 /home/revo/public_html/evo/codesaveindex.php中没有这

  • 我有三个下拉框。我的第一个下拉选择框如下所示 我的第二个看起来是这样的 第三个是这样的 如果从第一个下拉列表中选择值3,则只能从第二个和第三个下拉列表中选择三个选项(即1、2、3)。 该选项的其余部分应禁用或不可选。 如果从第二个下拉列表中选择值2,第三个下拉列表应该只能选择1。((即3-2)),反之亦然。 类似地,对于第一个下拉框 中选择的所有可能选项值,都应应用相同的逻辑 为我的查询建议jav

  • 我正在努力在项目的下拉列表中显示所选选项的详细信息。 我有一个从MYSQLi查询填充的下拉列表。我希望用户选择一个选项以及从数据库中提取并显示给用户的相关值。 动态填充的下拉列表用于人员的“FirstName”(表名),当用户从下拉列表中选择名称时,我希望显示该人员的记录。 下面的代码用于动态填充下拉列表。用户单击按钮并进入下一页,该页将创建一个包含结果的表。没有错误,但也没有要求的结果。 下拉代

  • 我在Wordpress中有一个文章网格,下面是按类别排序的默认方法: 有办法把这个变成下拉列表吗?我为类似的情况找到了不同的解决方案,但它们都有作为无序列表的好处(ul li)。我的只是一堆链接。