I am trying to pass parameter from JSF page to backing bean following way....
xhtml
<h:form id="menu">
<p:menubar autoSubmenuDisplay="true">
<p:submenu id="admin" label="Admin">
<p:submenu id="student" label="Student">
<p:menuitem id="studentAdd" value="Student Add" action="#{ajaxBean.editAction}" ajax="true">
<f:setPropertyActionListener target="#{ajaxBean.action}" value="StudentAdd" />
</p:menuitem>
<p:menuitem id="studentEdit" value="Student Edit" action="#{ajaxBean.editAction}" ajax="true">
<f:setPropertyActionListener target="#{ajaxBean.action}" value="StudentEdit" />
</p:menuitem>
</p:submenu>
</p:submenu>
</p:menubar>
</h:form>
package com.ajax;
import java.io.Serializable;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;
/**
*
* @author DELL
*/
@ManagedBean(name = "ajaxBean")
@SessionScoped
public class AjaxBean implements Serializable {
public AjaxBean() {
}
public String[] action;
public void setAction(String[] action) {
//String[] stringArray = Arrays.copyOf(action, action.length, String[].class);
this.action = action;
System.out.println("Menu id is " +action);
}
public String editAction() {
return null;
}
}
However this exception occurs:
javax.el.ELException: Cannot convert StudentAdd of type class java.lang.String to class [Ljava.lang.String;
xhtml
<h:form id="menu">
<p:menubar autoSubmenuDisplay="true">
<p:submenu id="admin" label="Admin">
<p:submenu id="student" label="Student">
<p:menuitem id="studentAdd" value="Student Add" action="#{ajaxBean.editAction}" ajax="true">
<f:setPropertyActionListener target="#{ajaxBean.action}" value="StudentAdd" />
</p:menuitem>
<p:menuitem id="studentEdit" value="Student Edit" action="#{ajaxBean.editAction}" ajax="true">
<f:setPropertyActionListener target="#{ajaxBean.action}" value="StudentEdit" />
</p:menuitem>
</p:submenu>
</p:submenu>
</p:menubar>
</h:form>
Managed Bean
package com.ajax;
import java.io.Serializable;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;
/**
*
* @author DELL
*/
@ManagedBean(name = "ajaxBean")
@SessionScoped
public class AjaxBean implements Serializable {
public AjaxBean() {
}
public String[] action;
public void setAction(String[] action) {
//String[] stringArray = Arrays.copyOf(action, action.length, String[].class);
this.action = action;
System.out.println("Menu id is " +action);
}
public String editAction() {
return null;
}
}
However this exception occurs:
javax.el.ELException: Cannot convert StudentAdd of type class java.lang.String to class [Ljava.lang.String;
কোন মন্তব্য নেই:
একটি মন্তব্য পোস্ট করুন