You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@struts.apache.org by slayer666 <rf...@hotmail.es> on 2010/06/22 12:42:53 UTC

JSF problem with selectManyMenu tag

Good morning, i am trying the JSF selectManyMenu tag and i when i execute the
aplication renders this trace log:

javax.servlet.ServletException
	javax.faces.webapp.FacesServlet.service(FacesServlet.java:277)


causa raĆ­z 

java.lang.NullPointerException
	org.apache.catalina.connector.CoyoteWriter.write(CoyoteWriter.java:171)

com.sun.faces.application.ViewHandlerImpl$WriteBehindStateWriter.write(ViewHandlerImpl.java:867)

com.sun.faces.renderkit.html_basic.HtmlResponseWriter.write(HtmlResponseWriter.java:620)

com.sun.faces.renderkit.html_basic.MenuRenderer.renderOption(MenuRenderer.java:539)

com.sun.faces.renderkit.html_basic.MenuRenderer.renderOptions(MenuRenderer.java:772)

com.sun.faces.renderkit.html_basic.MenuRenderer.renderSelect(MenuRenderer.java:832)

com.sun.faces.renderkit.html_basic.MenuRenderer.encodeEnd(MenuRenderer.java:280)
	javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:861)
	javax.faces.component.UIComponent.encodeAll(UIComponent.java:937)
	javax.faces.render.Renderer.encodeChildren(Renderer.java:148)

javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:837)
	javax.faces.component.UIComponent.encodeAll(UIComponent.java:930)
	javax.faces.component.UIComponent.encodeAll(UIComponent.java:933)

com.sun.faces.application.ViewHandlerImpl.doRenderView(ViewHandlerImpl.java:266)

com.sun.faces.application.ViewHandlerImpl.renderView(ViewHandlerImpl.java:197)

com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:110)
	com.sun.faces.lifecycle.Phase.doPhase(Phase.java:100)
	com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:139)
	javax.faces.webapp.FacesServlet.service(FacesServlet.java:266)

This are the codes implemented:

*faces-config.xml

<?xml version="1.0" encoding="UTF-8"?>

<faces-config
    xmlns="http://java.sun.com/xml/ns/javaee"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-facesconfig_1_2.xsd"
    version="1.2">
    
    <application>
      <resource-bundle>
        <base-name>jsf.properties.Application</base-name>
        <var>label</var>
      </resource-bundle> 
    </application>
    <managed-bean>
      <managed-bean-name>groups</managed-bean-name>
      <managed-bean-class>java.util.ArrayList</managed-bean-class>
      <managed-bean-scope>session</managed-bean-scope>
      <list-entries>
        <value-class>jsf.beans.Select</value-class>
        <value>#{groupA}</value>        
      </list-entries>
    </managed-bean>
    <managed-bean>
      <managed-bean-name>groupA</managed-bean-name>
      <managed-bean-class>jsf.beans.Select</managed-bean-class>
      <managed-bean-scope>session</managed-bean-scope>
      <managed-property>
         <property-name>team1</property-name>         
         <value>Brazil</value>         
      </managed-property>
      <managed-property>
         <property-name>team2</property-name>
         <value>Korea</value>         
      </managed-property>
      <managed-property>
         <property-name>team3</property-name>
         <value>Portugal</value>         
      </managed-property>
    </managed-bean>                    
    <managed-bean>
      <managed-bean-name>login</managed-bean-name>
      <managed-bean-class>jsf.beans.LoginBean</managed-bean-class>
      <managed-bean-scope>request</managed-bean-scope>
      <managed-property>
        <property-name>minimum</property-name>        
        <value>18</value>
      </managed-property>      
    </managed-bean>
    <navigation-rule>
      <from-view-id>/index.jsp</from-view-id>
      <navigation-case>
        <from-outcome>loginSuccess</from-outcome>
        <to-view-id>/success.jsp</to-view-id>
      </navigation-case>       
    </navigation-rule>
    <navigation-rule>
      <from-view-id>/success.jsp</from-view-id>
      <navigation-case>
        <from-outcome>home</from-outcome>
        <to-view-id>/index.jsp</to-view-id>
      </navigation-case> 
      <navigation-case>
        <from-outcome>populate</from-outcome>
        <to-view-id>/bookStore.jsp</to-view-id>
      </navigation-case>                       
    </navigation-rule>        
</faces-config>

*login.jsp

          <h:selectManyMenu value="#{login.groupsWorldCup}">
            <f:selectItems value="#{groups}"/>
          </h:selectManyMenu>

*LoginBean.java

package jsf.beans;

import java.util.ArrayList;

import javax.faces.application.FacesMessage;
import javax.faces.component.UIComponent;
import javax.faces.component.UIInput;
import javax.faces.context.FacesContext;

public class LoginBean {
	private String userName;
	private String passwd;
	private Integer age=null;
	private String text;
	private int minimum;
	private boolean check;
	private String language;
	private ArrayList<BookBean> bookList=new ArrayList<BookBean>();
	private String style;
	private ArrayList<String> role=new ArrayList<String>();
	private ArrayList<String> menuList=new ArrayList<String>();
	private ArrayList<String> groupsWorldCup=new ArrayList<String>();
	
	public String getUserName() {
		return userName;
	}

	public void setUserName(String userName) {
		this.userName = userName;
	}
			
	public String getPasswd() {
		return passwd;
	}

	public void setPasswd(String passwd) {
		this.passwd = passwd;
	}
			
	public Integer getAge() {
		return age;
	}

	public void setAge(Integer age) {
		this.age = age;
	}
		
	public int getMinimum() {
		return minimum;
	}

	public void setMinimum(int minimum) {
		this.minimum = minimum;
	}
		
	public String getText() {
		return text;
	}

	public void setText(String text) {
		this.text = text;
	}		

	public ArrayList<BookBean> getBookList() {
		return bookList;
	}

	public void setBookList(ArrayList<BookBean> bookList) {
		this.bookList = bookList;
	}		

	public boolean isCheck() {
		return check;
	}

	public void setCheck(boolean check) {
		this.check = check;
	}
			
	public String getLanguage() {
		return language;
	}

	public void setLanguage(String language) {
		this.language = language;
	}
		
	public String getStyle() {
		return style;
	}

	public void setStyle(String style) {
		this.style = style;
	}
			
	public ArrayList<String> getRole() {
		return role;
	}

	public void setRole(ArrayList<String> role) {
		this.role = role;
	}			

	public ArrayList<String> getMenuList() {
		return menuList;
	}

	public void setMenuList(ArrayList<String> menuList) {
		this.menuList = menuList;
	}
				
	public ArrayList<String> getGroupsWorldCup() {
		return groupsWorldCup;
	}

	public void setGroupsWorldCup(ArrayList<String> groupsWorldCup) {
		this.groupsWorldCup = groupsWorldCup;
	}

	public void checkUsername(FacesContext fcontext,UIComponent
component,Object value){
		String msg=(String)value;
		if(!msg.equals("raul")){
			((UIInput)component).setValid(false);
			fcontext.addMessage(component.getClientId(fcontext), new
FacesMessage("Usuario incorrecto"));
		}
	}
	
	public void checkPasswd(FacesContext fcontext,UIComponent component,Object
value){
		if(!value.equals("vaji97")){
			((UIInput)component).setValid(false);
			fcontext.addMessage(component.getClientId(fcontext), new
FacesMessage("Clave incorrecta"));
		}
	}
	
	public String populateBookList(){
		this.bookList.add(new BookBean(2,"Lord of the Rings",34));
		this.bookList.add(new BookBean(3,"Codigo DVinci",38));
		this.bookList.add(new BookBean(1,"Angels and Evils",36));
		this.bookList.add(new BookBean(4,"Geisha history",27));
		return "populate";
	}
}


Any suggestions?.

Thanks in advanced.


-- 
View this message in context: http://old.nabble.com/JSF-problem-with-selectManyMenu-tag-tp28958566p28958566.html
Sent from the Struts - User mailing list archive at Nabble.com.


---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscribe@struts.apache.org
For additional commands, e-mail: user-help@struts.apache.org