![](/img/trans.png)
[英]while passing a date from jsp page to servlet instead of passing a proposed date sysdate is passing
[英]passing date from jsp to servlet using getParameterValues
我在servlet中有錯誤從JSP傳遞值..
JSP代碼:
<table>
<tr>
<td>Day</td>
<td>Start</td>
<td>End</td>
<td>Date</td>
<td> </td>
</tr>
<tr>
<td><select name="availableDay">
<!--Listing days-->
</select></td>
<td><input type="time" name="availableStart"/></td>
<td><input type="time" name="availableEnd"/></td>
<td><input type="date" name="availableDate" /></td>
<td><input type="button" class="add" name="action" value="Add More"</td>
</tr>
</table>
我想將availableDate
傳遞給servlet。 Fyi,JSP中的行是動態生成的。 因此,我通過使用[]
。 我的servlet代碼:
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, java.io.IOException {
String[] presentationID = request.getParameterValues("selectavailability");
String[] availableDay = request.getParameterValues("availableDay");
String[] availableStart = request.getParameterValues("availableStart");
String[] availableEnd = request.getParameterValues("availableEnd");
String[] availableDate = request.getParameterValues("availableDate");
SimpleDateFormat availDate = new SimpleDateFormat("dd-MM-yyyy");
Date chosenDate = availDate.parse(availableDate);// THIS IS WHERE I AM GETTING ERROR
try {
if(availableDay != null && availableStart != null && availableEnd != null)
{
for (int i = 0; i < availableDay.length; i++)
{
AvailabilityBean available = new AvailabilityBean();
available.setLecturerID(request.getParameter("lecturerID"));
available.setAvailableDay(availableDay[i]);
available.setAvailableStart(availableStart[i]);
available.setAvailableEnd(availableEnd[i]);
available.setAvailableDate(availableDate[i]); //EFFECTED THIS LINE TOO
available = AddAvailableDAO.addavailable(available);
}
}
}
response.sendRedirect("addAvailability.jsp");
}
catch (Throwable theException) {
System.out.println("hhhhhhh"+theException);
}
}
對於額外的,AvailabilityBean:
private String availableID;
private String lecturerID;
private String availableDay;
private String availableStart;
private String availableEnd;
private Date availableDate;
private String presentationID;
錯誤: incompatible types: String[] cannot be converted to String.
你能告訴我我的錯誤在哪里嗎? 我該如何解決這個問題? 謝謝
這是您的availableDate
變量,它是一個String
數組。
String[] availableDate = request.getParameterValues("availableDate");
現在,您正在使用SimpleDateFormat
類將String
數據格式化為Date
。
這里parse(String text)
將采用String
Argument而不是String[]
(Array)的類型。
SimpleDateFormat availDate = new SimpleDateFormat("dd-MM-yyyy");
Date chosenDate = availDate.parse(availableDate);// availableDate is a String Array not a String.
因此,它會引發compile-time
錯誤incompatible types: String[] cannot be converted to String.
你應該試試這個
Date chosenDate = availDate.parse(availableDate[0]); //preferred index you may pass as per your requirement.
注意 : -
availableDate[0]
將返回索引0
處可用的String
對象。
這是您的JSP代碼示例..
<td><select name="availableDay"> //only one value will get selected so. use getParameterValue() for this field too.
<!--Listing days-->
</select></td>
//this will return only a String not a String[] . So use getParameterValue();
<td><input type="time" name="availableStart"/></td>
//this will also return only a String not a String[] . So use getParameterValue();
<td><input type="time" name="availableEnd"/></td>
//this too will return only a String not a String[] . So use getParameterValue();
<td><input type="date" name="availableDate" /></td> //this too will return a String with getParameterValue();
所以,試試這個..代碼。
String availableDay = request.getParameter("availableDay");
String availableStart = request.getParameter("availableStart");
String availableEnd = request.getParameter("availableEnd");
String availableDate = request.getParameter("availableDate");
而不是這一個。
String[] availableDay = request.getParameterValues("availableDay");
String[] availableStart = request.getParameterValues("availableStart");
String[] availableEnd = request.getParameterValues("availableEnd");
String[] availableDate = request.getParameterValues("availableDate");
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.