上图,这是一个简陋的编辑框,需要完成的功能是将编辑框的内容传给数据库,但失败了,失败的原因是空指针,让我很无奈,检查了许多次都不知道什么原因,对于一个编程菜鸟来说遇到空指针的问题都是最无奈的了。
上具体的代码:
没有经过修改的网页代码
<s:form action="replyContent" method="post" theme="simple">
<div id="comment" style="margin-top:350px;">
<li>评论内容:</li>
<ul style="list-style: none;margin-left: 56px;">
<li style="position: relative;">
<!-- <textarea style="width: 660px; height: 100px;" id="neirong;"></textarea> -->
<s:textfield name="comment.content" style="width:200px"></s:textfield>
</li>
<li><s:submit value="提交"/></li>
<span style="color: red; display: inline; font-size: 12px;">还能输入1000个字符</span>
</ul>
</div>
</s:form>
传到Action控制层中:
45 public String replyContent(){
46 this.comment.setCommentID(0);
48 articleService.replyContent(this.comment);
49 System.out.println("articleAction:"+this.comment.getContent());
50 return Global.SESSION_REPLYCONTENT;
}
就在这里就出现了问题:
具体错误:
Hibernate:
insert
into
COMMENT
(CONTENT)
values
(?)
articleAction:null
sql语句没有写错,但是却没有将网页中的内容传进来,为什么呢?
经过仔细查找原来是没有建立comment实体类的get()、set()方法。有了这两个方法才能实现数据的传递。
最后空指针问题解决。以后新建实体表时最好都先创建get、set方法了。保险