在托管bean上执行资源*(spring bean)*注入时发生错误

时间:2020-05-27 13:15:19

标签: java spring jsf

在将Spring bean注入JSF bean时遇到问题。我有这个错误,我也不知道为什么,因为我尝试了许多注释变体。我在Eclipse上使用spring 3.2 / hibernate 4.2 / JSF 2 / Java 6。 我正在尝试从数据库中获取一些数据并将其放入数据表中。

XHTML页面:

<h:dataTable value = "#{demUserbean.users}" var = "user">

   <h:column>                   
      <f:facet name = "header">Name</f:facet>                   
      #{user.nameUser}
   </h:column>

Bean:

@Component("demUserbean")
@Scope("session")
public class DemUserBean implements Serializable {

    private static final long serialVersionUID = 1L;
private DemUser user;
private List<DemUser> users = new ArrayList<DemUser>();
@Autowired
private DemUserService service;
@PostConstruct
public  void init (){ 
    users=service.getAllUsers();
};
//getters and setters

人脸配置:

        <el-resolver>
                org.springframework.web.jsf.el.SpringBeanFacesELResolver
        </el-resolver>
    </application>

    <managed-bean>
        <managed-bean-name>demUserbean</managed-bean-name>
        <managed-bean-class>com.iheb.view.DemUserBean</managed-bean-class>
        <managed-bean-scope>session</managed-bean-scope>
            <managed-property>
            <property-name>service</property-name>
            <value>#{service}</value>
        </managed-property>
    </managed-bean>

Spring Service bean:

@Service
public class DemUserServiceImpl implements DemUserService{
@Autowired
DemUserHome userDao;

    @Transactional
    @Override
    public List<DemUser> getAllUsers() {
return userDao.getAllUsers();
    }

Web XML

<!-- Add Support for Spring -->
  <listener>
    <listener-class>
        org.springframework.web.context.ContextLoaderListener
    </listener-class>
  </listener>
  <listener>
    <listener-class>
        org.springframework.web.context.request.RequestContextListener
    </listener-class>
  </listener>
  <!-- Welcome page -->
  <welcome-file-list>
    <welcome-file>/faces/index.xhtml</welcome-file>
  </welcome-file-list>
<!-- CONTEXT  -->
        <context-param>
                <param-name>contextConfigLocation</param-name>
                <param-value>/WEB-INF/spring-servlet.xml</param-value>
        </context-param>       
                <context-param>
                <param-name>JsfConfigLocation</param-name>
                <param-value>/WEB-INF/faces-config.xml</param-value>
        </context-param>       
        <!-- JSF mapping -->
  <servlet>
    <servlet-name>Faces Servlet</servlet-name>
    <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
    <load-on-startup>1</load-on-startup>
  </servlet>

  <!-- Map these files with JSF -->
  <servlet-mapping>
    <servlet-name>Faces Servlet</servlet-name>
    <url-pattern>/faces/*</url-pattern>
  </servlet-mapping>
  <servlet-mapping>
    <servlet-name>Faces Servlet</servlet-name>
    <url-pattern>*.jsf</url-pattern>
  </servlet-mapping>
  <servlet-mapping>
    <servlet-name>Faces Servlet</servlet-name>
    <url-pattern>*.faces</url-pattern>
  </servlet-mapping>
  <servlet-mapping>
    <servlet-name>Faces Servlet</servlet-name>
    <url-pattern>*.xhtml</url-pattern>
  </servlet-mapping>
          <!-- Change to "Production" when you are ready to deploy -->
  <context-param>
    <param-name>javax.faces.PROJECT_STAGE</param-name>
    <param-value>Development</param-value>
  </context-param>

控制台:

Caused by: java.lang.NullPointerException
    at com.iheb.view.DemUserBean.init(DemUserBean.java:41)
    ... 86 more

0 个答案:

没有答案