2017-08-30 61 views
2

我有一個應用程序,其中在一個JSP頁面中顯示一個下拉列表,但我在我的代碼中得到一個異常。下拉列表不顯示與彈簧mvc和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應用程序,我試圖顯示th e預先填充顏色數據的列表。

任何幫助,高度讚賞。

+0

你能分享這個項目通過'git'存儲討好? – Sergii

+0

@Sergii:你可以在https://github.com/iftekharkhan09/ExpenseCalculator_Nex_Gen.git找到代碼 –

+0

我檢查過了,沒有彈簧配置,沒有Java源代碼,請你檢查一下並添加項目文件到回購? – Sergii

回答

-1

嘗試添加到Map中,而不是ArrayList。

Map<String,String> coloursList = new HashMap<String,String>(); 
coloursList.put("R","red"); 
coloursList.put("R","green"); 
coloursList.put("Y","yellow"); 
coloursList.put("P","pink"); 
+0

此修補程序不起作用。 –

+0

添加我的代碼後,那麼也相同的異常或不同的 –

+0

多一件事,至少只檢查pom.xml文件,JSTL版本(1.2)和web.xml(2.5)。 –

0

我添加了下面行addDetails.jsp文件的德頂部和它的工作: -