struts2困惑
在地址栏打http://localhost:8080/bbs/Topic_add就没有问题,但经过链接或刷新就变了nullpoint,除了list方法其他都是有这个现象。...
在地址栏打http://localhost:8080/bbs/Topic_add就没有问题,但经过链接或刷新就变了nullpoint,除了list方法其他都是有这个现象。
<struts>
<package name="bbs" namespace="/" extends="struts-default">
<action name="User_reg" class="com.bbs.action.UserAction" method="reg">
<result>/User_reg.jsp</result>
</action>
<action name="Topic_list" class="com.bbs.action.TopicAction" method="list">
<result>/Topic_list.jsp</result>
</action>
<action name="Topic_add" class="com.bbs.action.TopicAction" method="add">
<result>/Topic_add.jsp</result>
</action>
</package>
</struts>
public class TopicAction extends ActionSupport {
private List<Topic> topices;
private TopicService topicService = new TopicService();
private Topic topic;
public String list(){
topices = topicService.list();
return SUCCESS;
}
public String add(){
topicService.add(topic);
return SUCCESS;
}
}
public void add(Topic t){
Connection conn = DB.createConn();
String sql = "insert into _topic values (null, ?, ?,null)";
PreparedStatement ps = DB.prepare(conn, sql);
try {
ps.setString(1, t.getTopicName());
ps.setString(2, t.getTopicContent());
ps.executeUpdate();
} catch (SQLException e) {
e.printStackTrace();
}
DB.close(ps);
DB.close(conn);
} 展开
<struts>
<package name="bbs" namespace="/" extends="struts-default">
<action name="User_reg" class="com.bbs.action.UserAction" method="reg">
<result>/User_reg.jsp</result>
</action>
<action name="Topic_list" class="com.bbs.action.TopicAction" method="list">
<result>/Topic_list.jsp</result>
</action>
<action name="Topic_add" class="com.bbs.action.TopicAction" method="add">
<result>/Topic_add.jsp</result>
</action>
</package>
</struts>
public class TopicAction extends ActionSupport {
private List<Topic> topices;
private TopicService topicService = new TopicService();
private Topic topic;
public String list(){
topices = topicService.list();
return SUCCESS;
}
public String add(){
topicService.add(topic);
return SUCCESS;
}
}
public void add(Topic t){
Connection conn = DB.createConn();
String sql = "insert into _topic values (null, ?, ?,null)";
PreparedStatement ps = DB.prepare(conn, sql);
try {
ps.setString(1, t.getTopicName());
ps.setString(2, t.getTopicContent());
ps.executeUpdate();
} catch (SQLException e) {
e.printStackTrace();
}
DB.close(ps);
DB.close(conn);
} 展开
5个回答
展开全部
如果是链接的话,你要给topic负值,否则topicService.add(topic);只能传NULL进去,所以是空指针异常,你看异常的前两行,TopicService 44行,TopicAction 20行,出现的异常,看看这两个地方的变量,是否获得值。
刷新的问题,如果第一成功无错误的话,topic是有值存在的,再刷新,值依然保存,既然还是空指针的话,应该是topicService.add()出了问题,什么东西没有加载,你在看看吧,不行咱HI里讨论一下。
刷新的问题,如果第一成功无错误的话,topic是有值存在的,再刷新,值依然保存,既然还是空指针的话,应该是topicService.add()出了问题,什么东西没有加载,你在看看吧,不行咱HI里讨论一下。
展开全部
topic对象是空的,我只能这么认为了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这个问题应该处在,namespace这个属性中,这个属性是替代你的工程名字,知道不,你把namespace设置成了“/” 你把这个属性去掉试一试。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
和二楼的有同样的想法
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
感觉你没有往add(Topic t)方法里传t的值啊
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询