2 sunrealonetwo sunrealonetwo 于 2013.05.11 18:14 提问

学习用MyEclipse 2013开发SSH项目遇到java.lang.NullPointerException问题,请帮助!

SaveOfficeAction.java出错:java.lang.NullPointerException

package we.app.action;

import we.app.data.*;

import com.opensymphony.xwork2.ActionSupport;

public class SaveOfficeAction extends ActionSupport {
    private IOffice B_Office;
    private IOfficeDAO B_OfficeDAO;
    private String Tips;

    public IOffice getB_Office() {
        return B_Office;
    }

    public void setB_Office(IOffice b_Office) {
        B_Office = b_Office;
    }

    public IOfficeDAO getB_OfficeDAO() {
        return B_OfficeDAO;
    }

    public void setB_OfficeDAO(IOfficeDAO b_OfficeDAO) {
        B_OfficeDAO = b_OfficeDAO;
    }

    public String getTips() {
        return Tips;
    }

    public void setTips(String tips) {
        Tips = tips;
    }

    public String execute() throws Exception
    {
        this.Tips=this.getB_OfficeDAO().findById(1).getOfficename().toString();
        //this.Trans_OfficeDAO.save(this.B_Office);
        return SUCCESS;
    }


}

1、index.jsp:

   <%@taglib uri="/struts-tags" prefix="s"%><%@ page language="java" import="java.util.*" pageEncoding="ISO-8859-1"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <base href="<%=basePath%>">

    <title>My JSP 'index.jsp' starting page</title>
    <meta http-equiv="pragma" content="no-cache">
    <meta http-equiv="cache-control" content="no-cache">
    <meta http-equiv="expires" content="0">    
    <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
    <meta http-equiv="description" content="This is my page">
    <!--
    <link rel="stylesheet" type="text/css" href="styles.css">
    -->
  </head>

  <body>
    <s:form action="SaveOffice">
        <s:textfield name="B_Office.officename" label="officename"></s:textfield>
        <s:submit></s:submit>
    </s:form>
    <br>
  </body>
</html>

2、hibernate.cfg.xml:

   <?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE hibernate-configuration PUBLIC
          "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
          "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
<!-- Generated by MyEclipse Hibernate Tools.                   -->
<hibernate-configuration>

    <session-factory>
        <property name="dialect">org.hibernate.dialect.SQLServerDialect</property>
        <property name="connection.url">
            jdbc:jtds:sqlserver://192.168.0.100:4628/tnew
        </property>
        <property name="connection.username">sa</property>
        <property name="connection.password">111</property>
        <property name="connection.driver_class">
            net.sourceforge.jtds.jdbc.Driver
        </property>
        <property name="myeclipse.connection.profile">
            sqlserverjtds
        </property>
        <mapping resource="we/app/data/Peop.hbm.xml" />
        <mapping resource="we/app/data/Office.hbm.xml" />

    </session-factory>

</hibernate-configuration>

3、ApplicationContext.xml

<?xml version="1.0" encoding="UTF-8"?>
<beans
    xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:p="http://www.springframework.org/schema/p"
    xmlns:tx="http://www.springframework.org/schema/tx" 
    xmlns:aop="http://www.springframework.org/schema/aop" 
    xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.1.xsd
           http://www.springframework.org/schema/tx 
           http://www.springframework.org/schema/tx/spring-tx-3.1.xsd 
           http://www.springframework.org/schema/aop 
           http://www.springframework.org/schema/aop/spring-aop-3.1.xsd"
    >


    <bean id="sessionFactory"
        class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
        <property name="configLocation"
            value="classpath:hibernate.cfg.xml">
        </property>
    </bean>

    <bean id="PeopDAO" class="we.app.data.PeopDAO">
            <property name="sessionFactory" ref="sessionFactory"></property>
    </bean>
    <bean id="B_OfficeDAO" class="we.app.data.OfficeDAO">
    <property name="sessionFactory" ref="sessionFactory"></property>
    </bean>

    <bean id="B_Office" class="we.app.data.Office"></bean>
    <bean id="B_Peop" class="we.app.data.Peop"></bean>


    <bean id="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager">
       <property name="sessionFactory">
         <ref bean="sessionFactory"/>
       </property>
    </bean>

<bean id="Trans_OfficeDAO"
  class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean">
  <property name="transactionManager">
   <ref bean="transactionManager" />
  </property>
  <property name="target">
   <ref local="B_OfficeDAO" />
  </property>
  <property name="transactionAttributes">
   <props>
    <prop key="*">PROPAGATION_REQUIRED</prop>
   </props>
  </property>
 </bean>


</beans>

4、

package we.app.data;

import java.util.List;

public interface IOfficeDAO {

    // property constants
    public static final String OFFICENAME = "officename";

    public abstract void save(IOffice transientInstance);

    public abstract void delete(IOffice persistentInstance);

    public abstract IOffice findById(java.lang.Integer id);

    public abstract List findByExample(IOffice instance);

    public abstract List findByProperty(String propertyName, Object value);

    public abstract List findByOfficename(Object officename);

    public abstract List findAll();

    public abstract IOffice merge(Office detachedInstance);

    public abstract void attachDirty(IOffice instance);

    public abstract void attachClean(IOffice instance);

}

2个回答

ht314495132
ht314495132   2013.05.11 21:52

你好歹把出错信息贴出来啊

suannai0314
suannai0314 你这个可以直接在问题下边添加评论
大约 5 年之前 回复
u010122579
u010122579   2013.05.12 13:49

this.Tips=this.getB_OfficeDAO().findById(1).getOfficename().toString();中的B_officeDao是不是没有在你的action里面注入,也木有申明;要不你干脆new 一个B_officeDao在试试,要不你再你的Application.xml配置文件中加上一条

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
对第一次项目总结--ssh开发中遇到的小问题总结
运行ssh,还可能因为可运行了SSH框架项目时,出现了“Server Tomcat v7.0 Server at localhost was unable to start within 45 seconds. If the server requires more time, try increasing the timeout in the server editor.” 这时需要在你项
SSH开发中遇到的问题及解决方法
1、HibernateQueryException异常: HQL语句:"from manager as model where model."+ propertyName + "= ?",数据库表名为manager,于是以为还像SQL那样直接写表面,其实Hibernate已经把表映射成一个对象,所以应该大写字母开头。把manager改成Manager即可。 2、java.lang.NoSuch
项目开发遇到的问题及其解决.总结
1.eclipse 导出 doc  出现“The Javadoc command does not exist.” javadoc command 选择 jdk/bin/javadoc.exe 2.tomcate 配置 web 项目 .....SQL:3.mysql  * 必须得放前面 否则  select  *,customer.name from customer ;  You have
MyEclipse中开发web项目遇到的一些问题
1.修改web项目名称 一般copy别人项目过来之后,你可能会选择修改项目名称,但是部署上去之后还是用的旧的名称,报404,原因是web context-root没有修改 对比myeclipse来说,需要:点击工程右键——>properties——>MyEclipse——>Web 把context root修改为你自己命名的工程名 2.项目前有红色感叹号 一般情况是由于java b
[总结]配置ssh项目遇到的问题
hibernate.cfg.xml中 org.hibernate.dialect.MySQLDialect
JAVA+很好的ssh例子,是开始学习的示范性项目Java源码
JAVA+很好的ssh例子,是开始学习的示范性项目Java源码
SSH框架开发Java web项目遇到的细节问题。
1.通过action返回json数据到web界面,在struts.xml中进行action配置的时候,注意包的名称和继承类,否则会出现404错误,注意与普通的action类配置进行区分。                                   result                           2.项目部署到tomcat后,启动tomcat发
SSH开发入门时遇到的各种Bug及解决方法
1、Hibernate自动生成的配置文件 hibernate.cfg.xml 有时候是有问题的,会出现 org.hibernate.HibernateException: Could not parse configuration: /hibernate.cfg.xml 原因是自动生成的hibernate.cfg.xml第二个标签引号内容的最末尾有一个空格,删掉即可 DOCTYPE hibe
SSH开发步骤及遇到的问题
过去一周被分配到做ERP的项目组里面,协助开发SSH项目。以前也只是了解过SSH,在过去一周的开发中学的许多新知识,大概有2个方面:框架搭好之后,写SSH项目的步骤 ;开发中遇到的问题和解决方法。        写SSH项目的步骤:       首先,在数据库中建立对应的表;下来在myeclipse中打开DB Browser视图,建立hibernate映射文件和类文件,配置好映射;然后就可以写
MyEclipse 10 部署项目时报错,抛出java.lang.NullPointerException异常的解决方法
在部署项目时,点击deploy,无反应。查看错误,抛出的是空指针指针异常,如下: java.lang.NullPointerException     at com.genuitec.eclipse.ast.deploy.core.Deployment.(Unknown So...) ... 经查询,终于解决问题,把方法呈上。 1、进入到工作空间,找到/.metadata/.plu