Skip to Main Content

Java EE (Java Enterprise Edition) General Discussion

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

JSF faces-config null pointer problems.

843844Jun 28 2010 — edited Jul 1 2010
Hey guys. I'm having trouble with my setter method called via the faces-config file. It seems the value its receiving is null. Here is some snippet code.

The faces-config code is as follows
<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE faces-config PUBLIC
    "-//Sun Microsystems, Inc.//DTD JavaServer Faces Config 1.1//EN"
    "http://java.sun.com/dtd/web-facesconfig_1_1.dtd">

<faces-config xmlns="http://java.sun.com/JSF/Configuration">
	<application>
		<variable-resolver>
			org.springframework.web.jsf.DelegatingVariableResolver
		</variable-resolver>
		<view-handler>com.icesoft.faces.facelets.D2DFaceletViewHandler</view-handler>
		<message-bundle id="messages">messages</message-bundle>	
	</application>
	
	<lifecycle>
	      <phase-listener>
	      		com.base.messaging.listeners.JSFMessagePhaseListener
	      </phase-listener>
	      <phase-listener>
	      		com.base.messaging.listeners.BusinessMessagePhaseListener
	      </phase-listener>
	      <phase-listener>
	      		com.base.listeners.RequestRedirectPhaseListener
	      </phase-listener>      
	      <phase-listener>
	      		com.base.listeners.ProgressIndicatorPhaseListener
	      </phase-listener>      
    </lifecycle>


                <managed-bean>
		<managed-bean-name>projectHandler</managed-bean-name>
		<managed-bean-class>com.somedirectory.ProjectHandler</managed-bean-class>
		<managed-bean-scope>request</managed-bean-scope>
		<managed-property>
			<property-name>projectService</property-name>
			<value>#{projectService}</value>
		</managed-property>
		<managed-property>
			<property-name>init</property-name>
			<value>#{param.init}</value>
		</managed-property>
	</managed-bean>
Here is The Handler Code.
package com.appsub.handler;



import com.base.security.jee.ExtendedUser;
import com.base.security.jee.UserHelper;
import com.app.service.ProjectService; 
import com.app.model.Project;
import java.util.List;
import java.util.*;

import javax.faces.event.ActionEvent;

public class ProjectHandler extends BasePffHandler{
	
	private List<Project> projects = null;
	private ProjectService projectService = null;
	private boolean showPopup = false;
	private boolean showSecondaryPopup = false;
	
	
	
	/**
	 * 
	 * @return a List of Projects which was populated
	 * by the setupProject() function call.
	 */
	public List<Project> getProjects(){
		return projects;
	}
	/**
	 * Used to setup default upon page load
	 * 
	 * @param init
	 *            the init to set
	 */
	public void setInit(String init) {
		if (init != null) {
			this.init = new Boolean(init);
		}
		if (this.init) {
			ExtendedUser user = (ExtendedUser) UserHelper.getUserOnThread();
			user.resetActiveBusinessProcessDifferentiator();
			
			String userId = "lid1";  //Test UserID 
			//String userId = user.getUserId().substring(5);
			/*For testing purposes use setup LID*/
			
			projects = projectService.getProjectsByUser(userId);
			
		}
	}
	public void setProjectService(ProjectService projectService){
		this.projectService = projectService;
	}
	public ProjectService getProjectService(){
		return projectService;
	}
	public void setProjects(List<Project> project){
		projects = project;
	}
	public void closePopup(ActionEvent ae) {
		showPopup = false;

		// reset the itemsLeft and itemsRight

	}
	public void closeSecondaryPopup(ActionEvent ae){
		showSecondaryPopup = false;
	}
	public boolean isShowSecondaryPopup(){
		return showSecondaryPopup;
	}
	public void selectTechnologies(ActionEvent ae){
		showPopup = true; //displays the Select technologies popup
	}
	public boolean isShowPopup(){
		return showPopup;
	}
	public void addTechnology(ActionEvent ae){
		showSecondaryPopup = true;
	}
	
}
The Problem is occuring in the setProjectService Method. The ProjectService Parameter being passed is null, so I'm then receiving a null Pointer exception in the setInit() function when trying to use the projectService Object. Anyways, I thought that by using the <managed-property> <property-name> and <value> in the faces-config, I would be able to create an object. I may be missing something completely here. I'm kinda working off of a reference implementation that I'm still trying to untangle. Thanks for any help guys.

Edited by: KingPia on Jun 28, 2010 2:05 PM
Comments
Locked Post
New comments cannot be posted to this locked post.
Post Details
Locked on Jul 29 2010
Added on Jun 28 2010
2 comments
405 views