I've implemented a ValueChangeListener, to handle the change of the radio button, but
I'm not sure how to change the value in my Seam component, to reflect the value
change. I'm sure I am supposed to be looking up the Seam component a different way,
since it fails with a ClassCastException when I try to get the Seam component from
FacesContext.
The question now is, in what way is this code different when we're dealing with Seam
components (SFSBs) vs. standard JSF managed beans? It finds the component just fine, and
even tells me the beanClass is com.project.actions.EditUserRecordAction.
Here is the code:
package com.project.util;
|
| import javax.faces.application.Application;
| import javax.faces.context.FacesContext;
| import javax.faces.event.AbortProcessingException;
| import javax.faces.event.ValueChangeEvent;
| import javax.faces.event.ValueChangeListener;
|
| import com.project.actions.EditUserRecordAction;
|
| public class StateSelectorChangeListener implements ValueChangeListener {
|
| public void processValueChange(ValueChangeEvent event) throws
AbortProcessingException {
| FacesContext facesContext = FacesContext.getCurrentInstance();
| Application app = facesContext.getApplication();
| Object myObj = app.getVariableResolver().resolveVariable(facesContext,
"editProfileAction");
| try {
| EditUserRecordAction editRecordBean = (EditUserRecordAction)myObj;
| editRecordBean.setSelectedState((String)event.getNewValue());
| } catch (RuntimeException e) {
| e.printStackTrace();
| }
| }
|
| }
|
@Stateful
| @Name("editProfileAction")
| @Scope(SESSION)
| public class EditUserRecordAction implements EditUserRecord, Serializable {
| ...
| public void setSelectedState(String selectedState){
| this.selectedState = selectedState;
| }
| }
View the original post :
http://www.jboss.com/index.html?module=bb&op=viewtopic&p=3981870#...
Reply to the post :
http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&a...