急死了,求指教,望高手帮我解决下吧!万分感谢!

zsmj_820_09 2012-12-27 11:43:56
报的异常如下,我是用struts 整合hibernate写的一个小程序:
exception

org.apache.jasper.JasperException: An exception occurred processing JSP page /demo.jsp at line 12

9: <body>
10: <html:form action="/demo.do?mm=addOne" method="post">
11: <html:text property="pet.name"></html:text>
12: <html:text property="pet.saveDate"></html:text><br/>
13: <html:submit value="娣诲姞"></html:submit>
14: </html:form>
15:


Stacktrace:
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:515)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:408)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:320)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
org.apache.struts.action.RequestProcessor.doForward(RequestProcessor.java:1085)
org.apache.struts.action.RequestProcessor.processForwardConfig(RequestProcessor.java:398)
org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:241)
org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196)
org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:414)
javax.servlet.http.HttpServlet.service(HttpServlet.java:690)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)


root cause

javax.servlet.ServletException: javax.servlet.jsp.JspException: Exception thrown by getter for property: "pet.saveDate" of bean: "org.apache.struts.taglib.html.BEAN"
org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:855)
org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:784)
org.apache.jsp.demo_jsp._jspService(demo_jsp.java:162)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:384)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:320)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
org.apache.struts.action.RequestProcessor.doForward(RequestProcessor.java:1085)
org.apache.struts.action.RequestProcessor.processForwardConfig(RequestProcessor.java:398)
org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:241)
org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196)
org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:414)
javax.servlet.http.HttpServlet.service(HttpServlet.java:690)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)


root cause

javax.servlet.jsp.JspException: Exception thrown by getter for property: "pet.saveDate" of bean: "org.apache.struts.taglib.html.BEAN"
org.apache.struts.taglib.TagUtils.lookup(TagUtils.java:969)
org.apache.struts.taglib.html.BaseFieldTag.prepareValue(BaseFieldTag.java:121)
org.apache.struts.taglib.html.BaseFieldTag.renderInputElement(BaseFieldTag.java:102)
org.apache.struts.taglib.html.BaseFieldTag.doStartTag(BaseFieldTag.java:81)
org.apache.jsp.demo_jsp._jspx_meth_html_005ftext_005f1(demo_jsp.java:240)
org.apache.jsp.demo_jsp._jspx_meth_html_005fform_005f0(demo_jsp.java:190)
org.apache.jsp.demo_jsp._jspService(demo_jsp.java:85)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:384)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:320)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
org.apache.struts.action.RequestProcessor.doForward(RequestProcessor.java:1085)
org.apache.struts.action.RequestProcessor.processForwardConfig(RequestProcessor.java:398)
org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:241)
org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196)
org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:414)
javax.servlet.http.HttpServlet.service(HttpServlet.java:690)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)

应该是说我没有写get方法吧,我用的是动态form和动态action ,但是我在实体里面写一个get和set方法了:如下

private Long id;
private String name;
private Date birthday;

private String saveDate; //这是我自己写的字段,用来装换时间格式的,数据库么有
// Property accessors



public void setSaveDate(String birthday) throws Exception {
SimpleDateFormat sf=new SimpleDateFormat("yyyy-MM-dd");

this.birthday=sf.parse(birthday);

}

public String getSaveDate() {
SimpleDateFormat sf=new SimpleDateFormat("yyyy-MM-dd");
return sf.format(this.birthday);
}


求高手指点一二啊!
...全文
197 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
zsmj_820_09 2012-12-28
  • 打赏
  • 举报
回复
<html:form action="/demo.do?mm=addOne" method="post"> <html:text property="pet.name"></html:text> <html:text property="pet.saveDate"></html:text><br/> <html:submit value="添加"></html:submit> </html:form> <l:notEmpty name="df"> <l:iterate id="p" name="df" property="list"> <html:form action="/demo.do?mm=init" method="post"> <html:text property="pet.id" value="${p.id}" readonly="true"></html:text> <html:text property="pet.name" value="${p.name}"></html:text> <html:text property="pet.saveDate" value="${p.saveDate}"></html:text> </html:form> </l:iterate> </l:notEmpty> 我已经试过了,把上面form去掉的话,下面的是能打印出来值的,就是说get方法取到值了!
zsmj_820_09 2012-12-28
  • 打赏
  • 举报
回复
你是说把birthday 定义成String类型嘛,
zsmj_820_09 2012-12-28
  • 打赏
  • 举报
回复
你是说把birthday属性的类型装换成String类型吗,
笑莫问 2012-12-28
  • 打赏
  • 举报
回复
感觉你的saveDate的get|set方法设计很奇怪,不是给自己赋值,而是去处理其他参数,不知道会不会是这里有问题。 如果你想转换birthday的格式,直接定义成string类型,然后做个处理就行了,不需要舍近求远吧。
zsmj_820_09 2012-12-28
  • 打赏
  • 举报
回复
问题解决了,谢谢回帖的哥们! 解决方法总结如下: 对struts的原理理解的不够啊,原因是struts启动时去打开动态标签html:text的时候会自动去查找值,我的值因为刚开始是空的,所以就报这样的错了,只要把get方法加个try catch 再随便返回一个值就行了!
NoTargetException 2012-12-27
  • 打赏
  • 举报
回复
你测试看一下你的getSaveDate() 返回的是什么值先吧!
mimixi666 2012-12-27
  • 打赏
  • 举报
回复
帮你顶一下,我也不懂。。。

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧