org.apache.jasper.JasperException: Unable to convert string "2010-12-21" to class "java.util.Date" for attribute "add_time": Property Editor not registered with the PropertyEditorManager
at org.apache.jasper.runtime.JspRuntimeLibrary.getValueFromPropertyEditorManager(JspRuntimeLibrary.java:887)
at org.apache.jasper.runtime.JspRuntimeLibrary.convert(JspRuntimeLibrary.java:269)
at org.apache.jasper.runtime.JspRuntimeLibrary.internalIntrospecthelper(JspRuntimeLibrary.java:355)
at org.apache.jasper.runtime.JspRuntimeLibrary.introspecthelper(JspRuntimeLibrary.java:308)
pageEncoding="UTF-8"%>
<%@ page import="com.zjl.jc.factory.*, com.zjl.jc.vo.*" %>
<%@ page import="java.util.*" %>
<html>
<head>
<% request.setCharacterEncoding("utf-8"); %>
</head>
<body>
<%
try{
String keyWord = request.getParameter("kw"); //接收查询关键字
if(keyWord==null) { //判断是否有传递的参数
keyWord = "";
}
List<Product> all = DAOFactory.getIProductDAOInstance().findAll(keyWord); //取得全部记录
Iterator<Product> iter = all.iterator();
%>
<center>
<form action="product_list.jsp" method="post">
请输入查询的关键字可以按商品名称和商品价格查询:<input type="text" name="kw">
<input type="submit" value="查询">
</form>
<form action="product_list.jsp">
<table border="1" width="100%">
<tr>
<td>商品编号</td>
<td>商品名称</td>
<td>商品价格</td>
//省略
<td colspan="2"><center>操作</center></td>
</tr>
<%
while(iter.hasNext()){
Product product = iter.next();
%>
<tr>
<td><%=product.getProduct_id() %></td>
<td><%=product.getProduct_name() %></td>
<td><%=product.getPrice() %></td>
<td><%=product.getSpec() %></td>
<td><%=product.getPattern() %></td>
<td><%=product.getCategory() %></td>
<td><%=product.getSpirit() %></td>
<td><%=product.getYears() %></td>
<td><%=product.getLocality() %></td>
<td><%=product.getMaker() %></td>
<td><%=product.getDealer() %></td>
<td><%=product.getHerstelldatum() %></td>
<td><%=product.getShelf_life() %></td>
<td><%=product.isRangerover()%></td>
<td><%=product.getSale_date() %></td>
<td><%=product.getBuyer() %></td>
<td><%=product.getAdd_time() %></td>
<td><a href="delete_do.jsp?id=<%=product.getProduct_id()%>">删除</a></td>
<td><a href="update.jsp?id=<%=product.getProduct_id()%>">修改</a></td>
</tr>
<%
}
%>
</table>
</form>
</center>
<%
}catch(Exception e) {
e.printStackTrace(); //在tomcat后台打印异常信息
}
%>
</body>
</html><%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ page import="com.zjl.jc.factory.*, com.zjl.jc.vo.*" %>
<%@ page import="java.util.*" %>
<html>
<head>
</head>
<body>
<center>
<%request.setCharacterEncoding("utf-8");%>
<%
// 接收参数
int id = 0;
try{
id = Integer.parseInt(request.getParameter("id"));
} catch(Exception e) {}
%>
<%
Product product = null;
try{
product = DAOFactory.getIProductDAOInstance().findById(id);
}catch(Exception e) {}
%>
<%
//从数据库里读取后放到页面中去
if(product != null) {
id = product.getProduct_id();
String product_name = product.getProduct_name();
Double price = product.getPrice();
String spec = product.getSpec();
String pattern = product.getPattern();
String category = product.getCategory();
String spirit = product.getSpirit();
Date years = product.getYears();
String locality = product.getLocality();
String maker = product.getMaker();
String dealer = product.getDealer();
String herstelldatum = product.getHerstelldatum();
String shelf_life = product.getShelf_life();
Boolean rangerover = product.isRangerover();
Date sale_date = product.getSale_date();
String buyer = product.getBuyer();
Date add_time = product.getAdd_time();
%>
<form action="update_do.jsp" method="post">
<table>
<tr>
<td colpan="2">修改商品信息</td>
</tr>
<tr>
<td>商品名称</td>
<td><input type="text" name="product_name" value="<%=product_name%>"/></td>
</tr>
<tr>
<td>商品价格</td>
<td><input type="text" name="price" value="<%=price%>"/></td>
</tr>
<tr>
<td>商品规格</td>
<td><input type="text" name="spec" value="<%=spec%>"/></td>
</tr>
<tr>
<td>商品型号</td>
<td><input type="text" name="pattern" value="<%=pattern%>"/></td>
</tr>
<tr>
<td>商品类型</td>
<td><input type="text" name="prcategoryice" value="<%=category%>"/></td>
</tr>
<tr>
<td>酒精度</td>
<td><input type="text" name="spirit" value="<%=spirit%>"/></td>
</tr>
<tr>
<td>年份</td>
<td><input type="text" name="years" value="<%=years%>"/></td>
</tr>
<tr>
<td>原产地</td>
<td><input type="text" name="locality" value="<%=locality%>"/></td>
</tr>
<tr>
<td>生产厂家</td>
<td><input type="text" name="maker" value="<%=maker%>"/></td>
</tr>
<tr>
<td>销售商</td>
<td><input type="text" name="dealer" value="<%=dealer%>"/></td>
</tr>
<tr>
<td>生产日期</td>
<td><input type="text" name="herstelldatum" value="<%=herstelldatum%>"/></td>
</tr>
<tr>
<td>保质期</td>
<td><input type="text" name="shelf_life" value="<%=shelf_life%>"/></td>
</tr>
<tr>
<td>销售状态</td>
<td><input type="text" name="rangerover" value="<%=rangerover%>"/></td>
</tr>
<tr>
<td>销售日期</td>
<td><input type="text" name="sale_date" value="<%=sale_date%>"/></td>
</tr>
<tr>
<td>购买人</td>
<td><input type="text" name="buyer" value="<%=buyer%>"/></td>
</tr>
<tr>
<td>加入日期</td>
<td><input type="text" name="add_time" value="<%=add_time%>"/></td>
</tr>
<tr>
<td colpsan="2">
<input type="hidden" name="id" value="<%=id%>"/>
<input type="submit" value="修改"/>
<input type="reset" value="重置"/>
</td>
</tr>
</table>
</form>
<%
}
else {
%>
没有发现,要更新的商品信息!!<br>
请确认要更新的商品是否存在!!<br>
<%
}
%>
<h3 href="product_list.jsp">返回商品信息列表页</h3>
</center>
</body>
</html><%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ page import="com.zjl.jc.factory.*, com.zjl.jc.vo.*" %><html>
<head>
</head>
<body>
<jsp:useBean id="product" class="com.zjl.jc.vo.Product" scope="page"/>
<jsp:setProperty property="*" name="product"/>
<%
response.setHeader("refresh","2;URL=product_list.jsp");
try{
DAOFactory.getIProductDAOInstance().update(product);
%>
商品信息修改成功!!!!2秒后系统自动跳转到商品信息列表页!!<br>
如果没有跳转,请点击<a href="product_list.jsp">这里</a>
<%
} catch(Exception e) {
%>
修改商品信息失败!!2秒后系统自动跳转到商品信息列表页!!<br>
如果没有跳转,请点击<a href="product_list.jsp">这里</a>
<%
}
%>
</body>
</html>public class ProductDAOImpl implements IProductDAO { private Connection conn = null;
private PreparedStatement pstmt = null; // 数据库操作对象 public ProductDAOImpl(Connection conn) {
this.conn = conn;
}
public Product findById(int product_id) throws Exception {
Product product = null;
/* String sql = "select product_id,product_name,price,spec,pattern,category,spirit,"
+"years,locality,maker,dealer,herstelldatum,shelf_life,rangerover,sale_date,buyer,add_time"
+"from product where product_id=?";*/
String sql = "SELECT product_id,product_name,price,spec,pattern,category,spirit,years,"
+" locality,maker,dealer,herstelldatum,shelf_life,rangerover,sale_date,buyer,add_time"
+" FROM product WHERE product_id=?";
this.pstmt = conn.prepareStatement(sql);
this.pstmt.setInt(1, product_id);
//System.out.println(product_id);
ResultSet rs = this.pstmt.executeQuery();
if(rs.next()) { //如果可以查询到结果
product = new Product();
product.setProduct_id(rs.getInt(1));
product.setProduct_name(rs.getString(2));
product.setPrice(rs.getDouble(3));
product.setSpec(rs.getString(4));
product.setPattern(rs.getString(5));
product.setCategory(rs.getString(6));
product.setSpirit(rs.getString(7));
product.setYears(rs.getDate(8));
product.setLocality(rs.getString(9));
product.setMaker(rs.getString(10));
product.setDealer(rs.getString(11));
product.setHerstelldatum(rs.getString(12));
product.setShelf_life(rs.getString(13));
product.setRangerover(rs.getBoolean(14));
product.setSale_date(rs.getDate(15));
product.setBuyer(rs.getString(16));
product.setAdd_time(rs.getDate(17));
}
this.pstmt.close();
return product; //如果查询不到结果则返回空,默认值为null
} public void update(Product product) throws Exception { String sql = "update product UPDATE product SET product_name=?,price=?,spec=?,"
+" pattern=?,category=?,spirit=?,years=?,locality=?,maker=?,dealer=?,"
+" herstelldatum=?,shelf_life=?,rangerover=?,sale_date=?,buyer=?,"
+" add_time=? where product_id=?";
this.pstmt = conn.prepareStatement(sql);
//省略
this.pstmt.setDate(16, new Date(product.getAdd_time().getTime()));
this.pstmt.setInt(17, product.getProduct_id());
this.pstmt.close();
}
}
解决方案 »
- 大神帮忙!!!用javabean传值的时候总是null
- security 3.0启动Schema报错?
- 在JSP中如何用JSTL的c:forEach遍历元素是Map类型的List?
- 按回复人平均给分这个方法如何写
- 请问Hibernate一对多的映射情况下,在JSP页面上该如何引用子对象的属性(急)
- 表格中如何确定某一行某一列的那个元素
- 我打开页面时,有时候弹出提示框"错误类型:438",有时候又不弹出提示框,请问是什么原因??
- cas
- 提交form为什么获取不到值?
- 从数据库查询结果,判断后,将对应的值打屏,为什么显示NULL,明明是有值,救急
- jsp连接access数据库
- 请教输出流下载功能
sdf.format(new Date());
java.util.Date date2 = new Date();
DateFormat formate = new SimpleDateFormat("yyyy-mm-dd hh:mm:ss");
String str = formate.format(date2);把你的date类型转换成string再输出