Table + row Selection + data paging + popUp anyone can help (error when fill filds in popup)?
[Logo]
Forums for ICEfaces and ICEpdf
[Search] Search   [Recent Topics] Recent Topics   [Groups] Home Page | www.icefaces.org  [Register] Register  [Login] Login 
Table + row Selection + data paging + popUp anyone can help (error when fill filds in popup)?  XML
Forum Index -> Components
Author Message
rangelmp

Joined: 14/12/2006 00:00:00
Messages: 26
Offline


Hello. (Sorry fo my english...)
I have a table with rowSelection + data Paging and a menu with 4 buttons:
addCont, editCont, removeCont, refresh.

I select one line of the dataTable and click in editCont... the program open a popup panel with 3 inputText and fill the inputText with the data of the datamodel (the line thtat i select).

Okay it´s work. But when i try to edit a second register of the datatable the inputText of the popup panel comes with the first data select and edited.

The program work only one time, when i try to edit, add or remove ani content of the data the filds comes with the data of the first operation.

I´m using jboss-seam.
If anyone can´t understand my english.. make a queation and i try to ask.
Tahkz!


Code:
 <f:view xmlns:h="http://java.sun.com/jsf/html"
 	xmlns:f="http://java.sun.com/jsf/core"
 	xmlns:ice="http://www.icesoft.com/icefaces/component">
 
 	<ice:outputDeclaration doctypeRoot="HTML"
 		doctypePublic="-//W3C//DTD HTML 4.01 Transitional//EN"
 		doctypeSystem="http://www.w3.org/TR/html4/loose.dtd" />
 
 	<html>
 	<head>
 	<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"></meta>
 	<title>Manter</title>
 	<!--  adiciona os estilos necessarios -->
 	<link href="./stylesheet/xp.css" rel="stylesheet" type="text/css" />
 	<link href="./stylesheet/showcase-style.css" rel="stylesheet"
 		type="text/css" />
 	</head>
 	<body>
 
 
 	<ice:form>
 
 		<ice:panelGroup styleClass="formBorderHighlight">
 			<ice:outputText value="Filtro: " />
 
 			<ice:inputText value="" />
 		</ice:panelGroup>
 
 		<ice:panelGroup styleClass="formBorderHighlight">
 			<h3><ice:outputText
 				value="#{msgs['component.dataPaginator.description']}" /></h3>
 		</ice:panelGroup>
 
 		<ice:panelGroup styleClass="formBorderHighlight">
 
 			<!-- Display counts about the table and the currently displayed page -->
 			<!-- Monstra um label com as informacoes do grid -->
 			<ice:dataPaginator id="dataScroll_2" for="data"
 				rowsCountVar="rowsCount"
 				displayedRowsCountVar="displayedRowsCountVar"
 				firstRowIndexVar="firstRowIndex" lastRowIndexVar="lastRowIndex"
 				pageCountVar="pageCount" pageIndexVar="pageIndex">
 				<ice:outputFormat
 					value="{0} persons found, displaying {1} persons, from {2} to {3}. Page {4} / {5}."
 					styleClass="standard">
 					<f:param value="#{rowsCount}" />
 					<f:param value="#{displayedRowsCountVar}" />
 					<f:param value="#{firstRowIndex}" />
 					<f:param value="#{lastRowIndex}" />
 					<f:param value="#{pageIndex}" />
 					<f:param value="#{pageCount}" />
 				</ice:outputFormat>
 			</ice:dataPaginator>
 
 			<!-- ###########POP UP############## -->
 			<!-- <f:param name=selectedItem value="#{mmm.selectedRows}" />      -->
     
 			<ice:panelPopup id="popup" 
 							visible="#{mmm.showModalPanel}" 
 							rendered="#{mmm.showModalPanel}" 
 							style="z-index:1001; width: 300px;">
 				<f:facet name="header">
 					<ice:panelGrid width="100%" cellpadding="0" cellspacing="0"
 						columns="2" style="text-align: center;">
 						<ice:outputText style="color: #FFFFFF;" value="Entrada de dados" />
 					</ice:panelGrid>
 				</f:facet>
 
 				<f:facet name="body">
 					<ice:panelGrid width="100%" cellpadding="0" cellspacing="0"
 						column="1">
 						<ice:outputText value="Nome: " />
 						<ice:inputText value="#{mmm.selecionada.nome}" partialSubmit="true" required="true" />
 						<ice:outputText value="E-mail: " />
 						<ice:inputText value="#{mmm.selecionada.email}" partialSubmit="true" required="true" />
 						<ice:outputText value="Telefone: " />
 						<ice:inputText value="#{mmm.selecionada.telefone}" partialSubmit="true" required="true" />
 						<ice:commandButton value="Confirmar" id="popConfirmar"
 							action="#{mmm.popConfirmar}" immediate="true" />
 						<ice:commandButton value="Fechar" id="popFechar"
 							action="#{mmm.popFechar}" immediate="true" 
 							actionListener="#{mmm.clearSelections}"/>
 
 					</ice:panelGrid>
 				</f:facet>
 
 			</ice:panelPopup>
 			<!-- ###########POP UP############## -->
 
 
 			<ice:panelGrid columns="2">
 				<!-- Layout table columns with column headings and 5 table rows per page -->
 				<ice:dataTable id="data" value="#{pessoas}" var="p" rows="5" partialSubmit="true" >
 					<ice:column>
 						<!-- Seletor de linhas o atributo table.multipleSelection eh definido
 					     na clase TableBean, o que permite selecionar mais de uma linha
 					     (verificar com marcelo/wilsona necessidade de multiplas linhas -->
 						<ice:rowSelector value="#{p.selected}" multiple="false"
 							selectedClass="tableRowSelected"
 							selectionListener="#{mmm.rowSelection}" />
 						<f:facet name="header">
 							<ice:outputText value="Nome" />
 						</f:facet>
 						<ice:outputText value="#{p.nome}" />
 					</ice:column>
 
 					<ice:column>
 						<f:facet name="header">
 							<ice:outputText value="E-mail" />
 						</f:facet>
 						<ice:outputText value="#{p.email}" />
 					</ice:column>
 
 					<ice:column>
 						<f:facet name="header">
 							<ice:outputText value="Telefone" />
 						</f:facet>
 						<ice:outputText value="#{p.telefone}" />
 					</ice:column>
 
 				</ice:dataTable>
 
 				<ice:dataPaginator id="dataScroll_3" for="data" fastStep="3"
 					rendered="#{scrollerList.vertical}" pageCountVar="pageCount"
 					pageIndexVar="pageIndex" paginator="true" paginatorMaxPages="4"
 					vertical="true">
 					<f:facet name="first">
 						<ice:graphicImage
 							url="./xmlhttp/css/xp/css-images/arrow-first.gif"
 							style="border:none;"
 							title="#{msgs['component.dataPaginator.firstpage']}" />
 					</f:facet>
 					<f:facet name="last">
 						<ice:graphicImage url="./xmlhttp/css/xp/css-images/arrow-last.gif"
 							style="border:none;"
 							title="#{msgs['component.dataPaginator.lastpage']}" />
 					</f:facet>
 					<f:facet name="previous">
 						<ice:graphicImage
 							url="./xmlhttp/css/xp/css-images/arrow-previous.gif"
 							style="border:none;"
 							title="#{msgs['component.dataPaginator.previouspage']}" />
 					</f:facet>
 					<f:facet name="next">
 						<ice:graphicImage url="./xmlhttp/css/xp/css-images/arrow-next.gif"
 							style="border:none;"
 							title="#{msgs['component.dataPaginator.nextpage']}" />
 					</f:facet>
 					<f:facet name="fastforward">
 						<ice:graphicImage url="./xmlhttp/css/xp/css-images/arrow-ff.gif"
 							style="border:none;"
 							title="#{msgs['component.dataPaginator.fastforward']}" />
 					</f:facet>
 					<f:facet name="fastrewind">
 						<ice:graphicImage url="./xmlhttp/css/xp/css-images/arrow-fr.gif"
 							style="border:none;"
 							title="#{msgs['component.dataPaginator.fastbackward']}" />
 					</f:facet>
 				</ice:dataPaginator>
 
 			</ice:panelGrid>
 		</ice:panelGroup>
 
 		<ice:dataPaginator id="dataScroll_1" for="data" fastStep="3"
 			pageCountVar="pageCount" pageIndexVar="pageIndex" paginator="true"
 			paginatorMaxPages="4" rendered="#{!scrollerList.vertical}">
 			<f:facet name="first">
 				<ice:graphicImage url="./xmlhttp/css/xp/css-images/arrow-first.gif"
 					style="border:none;"
 					title="#{msgs['component.dataPaginator.firstpage']}" />
 			</f:facet>
 			<f:facet name="last">
 				<ice:graphicImage url="./xmlhttp/css/xp/css-images/arrow-last.gif"
 					style="border:none;"
 					title="#{msgs['component.dataPaginator.lastpage']}" />
 			</f:facet>
 			<f:facet name="previous">
 				<ice:graphicImage
 					url="./xmlhttp/css/xp/css-images/arrow-previous.gif"
 					style="border:none;"
 					title="#{msgs['component.dataPaginator.previouspage']}" />
 			</f:facet>
 			<f:facet name="next">
 				<ice:graphicImage url="./xmlhttp/css/xp/css-images/arrow-next.gif"
 					style="border:none;"
 					title="#{msgs['component.dataPaginator.nextpage']}" />
 			</f:facet>
 			<f:facet name="fastforward">
 				<ice:graphicImage url="./xmlhttp/css/xp/css-images/arrow-ff.gif"
 					style="border:none;"
 					title="#{msgs['component.dataPaginator.fastforward']}" />
 			</f:facet>
 			<f:facet name="fastrewind">
 				<ice:graphicImage url="./xmlhttp/css/xp/css-images/arrow-fr.gif"
 					style="border:none;"
 					title="#{msgs['component.dataPaginator.fastbackward']}" />
 			</f:facet>
 		</ice:dataPaginator>
 
 		<ice:panelGrid columns="2" styleClass="dataPagingBorderHighlight">
 			<!-- Paginator layout, horizontal/vertical -->
 
 
 			<!-- Add/remove data from table -->
 			<ice:panelGroup>
 				<h3><ice:outputText
 					value="#{msgs['component.dataPaginator.data.description']}" /></h3>
 				<ice:commandButton value="Adicionar" id="addContent"
 					action="#{mmm.addContent}" immediate="true" />
 				<ice:commandButton value="Editar" id="editarConent"
 					action="#{mmm.editContent}" immediate="true" />
 				<ice:commandButton value="Remover" id="removeConent"
 					action="#{mmm.removeContent}" immediate="true" />
 				<ice:commandButton value="Refresh" id="refreshConent"
 					action="#{scrollerList.removeContent}" immediate="true" />
 			</ice:panelGroup>
 		</ice:panelGrid>
 
 	</ice:form>
 	</body>
 	</html>
 </f:view>
 


Code:
 package br.com.wapcash.util;
 
 import static org.jboss.seam.ScopeType.SESSION;
 
 import java.util.ArrayList;
 import java.util.List;
 
 import javax.ejb.Remove;
 import javax.ejb.Stateful;
 import javax.faces.event.ActionEvent;
 import javax.faces.event.ValueChangeEvent;
 import javax.persistence.EntityManager;
 import javax.persistence.PersistenceContext;
 
 import org.jboss.seam.annotations.Destroy;
 import org.jboss.seam.annotations.Factory;
 import org.jboss.seam.annotations.In;
 import org.jboss.seam.annotations.Name;
 import org.jboss.seam.annotations.Out;
 import org.jboss.seam.annotations.Scope;
 import org.jboss.seam.annotations.datamodel.DataModel;
 
 import com.icesoft.faces.component.ext.RowSelectorEvent;
 
 @Stateful
 @Name("mmm")
 @Scope(SESSION)
 public class Manter2Bean  implements Manter2{
 
 	private boolean remove = false;
 	private boolean showModalPanel = false;
 	
 	@In(required=false)
 	@Out(required=false)
 	private PessoaEntity selecionada = new PessoaEntity();
 	
 	
 	private List<PessoaEntity> selectedRows = new ArrayList<PessoaEntity>();
 	
 	//Selecionar multiplas linhas? 
 	private boolean multipleSelection = false;
 	
 	// enable scrollable property
 	private boolean scrollable = true;
 	// scrollable height property;
 	private String scrollableHeight = "100px";
 	
 	private Boolean selected = Boolean.FALSE;
 	
 	@DataModel
 	private List<PessoaEntity> pessoas;
 		
 	@PersistenceContext
 	private EntityManager em;
 	
 	@SuppressWarnings("unchecked")
 	@Factory("pessoas")
 	public void dados() {
 		try{
 			pessoas = (List<PessoaEntity>) em.createQuery("from PessoaEntity").getResultList();
 		}catch (Exception e){
 			e.printStackTrace();
 		} finally {
 			System.out.println("###########################");
 		}
 	}
 	
 
 
 	public void rowSelection(RowSelectorEvent e) {
 		selectedRows.clear();
 		System.out.println("rowSelection fora do for"+ pessoas.size());
 		for (int i = pessoas.size() - 1; i >= 0; i--) {
 			System.out.println("Pessoa "+ i +" nome pessoa " + pessoas.get(i).getNome());
 			
 			if (pessoas.get(i).getSelected().booleanValue()) {
 				System.out.println("rowSelection "+ pessoas.size());
 				selectedRows.add(pessoas.get(i));
 				System.out.println("selectedrows size" + selectedRows.size());
 				/* pega a pessoa selecionada no grid e atribui o valor
 				 * a variavel pessoa.
 				 */
 				selecionada = pessoas.get(i);
 				System.out.println("selecionada = " +selecionada.getNome());
 			}
 		}
 
 	}
 	
 
 	
 	public void clearSelections(ActionEvent event) {
 		System.out.println("-----clearSelections-----");
 		selectedRows.clear();
 		for (int i = pessoas.size() - 1; i >= 0; i--) {
 			pessoas.get(i).setSelected(new Boolean(false));
 		}
 		selecionada.setCdpessoa(0L);
 		selecionada.setNome("");
 		selecionada.setTelefone("");
 		selecionada.setEmail("");
 	}
 	
 	
 	public boolean isMultipleSelection() {
 		return multipleSelection;
 	}
 
 	public void setMultipleSelection(boolean multipleSelection) {
 		this.multipleSelection = multipleSelection;
 	}
 
 	public void selectionChanged(ValueChangeEvent event) {
 		selectedRows.clear();
 		/*
 		Person[] persons = personsList;
 		for (int i = 0; i < persons.length; i++) {
 			persons[i].setSelected(Boolean.FALSE);
 		}*/
 		for (int i = 0; i < pessoas.size(); i++) {
 			pessoas.get(i).setSelected(Boolean.FALSE);
 		}
 	}
 
 	public boolean isScrollable() {
 		return scrollable;
 	}
 
 	public void setScrollable(boolean scrollable) {
 		this.scrollable = scrollable;
 	}
 
 
 	public List<PessoaEntity> getPessoasList() {
 		return pessoas;
 	}
 
 	public void setPessoasList(List<PessoaEntity> pessoas) {
 		this.pessoas = pessoas;
 	}
 
 	public String getScrollableHeight() {
 		return scrollableHeight;
 	}
 
 	public void setScrollableHeight(String scrollableHeight) {
 		this.scrollableHeight = scrollableHeight;
 	}
 	
     public Boolean getSelected() {
         return selected;
     }
 
     public void setSelected(Boolean selected) {
         this.selected = selected;
     }
 	
     /**
      * Abre o pop up para adicionar dados
      */
     public void addContent() {
     	System.out.println("/n ******addcontent******");
     	selecionada.setNome("");
     	selecionada.setTelefone("");
     	selecionada.setEmail("");
     	showModalPanel = true;
     	System.out.println("Tamanho do pessoas " +pessoas.size());
     	System.out.println("******Fim do addContent******");
 		
 
     }
     
     public void editContent(){
     	showModalPanel = true;
     }
     
     public void removeContent(){
     	remove = true;
     	showModalPanel = true;
     	
     }
 
     
 	public boolean isRemove() {
 		return remove;
 	}
 	public boolean getRemove(){
 		return remove;
 	}
 	public void setRemove(boolean remove) {
 		this.remove = remove;
 	}
     
     
     public void popFechar() {
     	System.out.println("fechar o pop up");
     	/*fecha pop-up visible e rendere = true*/
     	showModalPanel = false;
 
     	pessoas = (List<PessoaEntity>) em.createQuery("from PessoaEntity").getResultList();
     }
     
     public void popConfirmar() {
     	System.out.println("/n =====confirmar o pop up====");
     	System.out.println(selecionada.getNome());
     	if (remove){
     		System.out.println("removendo o registro " + selecionada.getNome());
     		em.remove(em.merge(selecionada));
     	} else {
     		System.out.println("adicionando o registro " + selecionada.getNome());
     		em.merge(selecionada);
     	}
     	System.out.println("===== fim confirmar o pop up ====");
     }
     
     public boolean isShowModalPanel() {
         return showModalPanel;
     }
 
     public void setShowModalPanel(boolean showModalPanel) {
         this.showModalPanel = showModalPanel;
     }
     
 	@Destroy
 	@Remove
 	public void destroy() {
 		pessoas = null;
 		selecionada = null;
 	}
 
 	
 
 	public PessoaEntity getSelecionada() {
 		return selecionada;
 	}
 
 	public void setSelecionada(PessoaEntity selecionada) {
 		this.selecionada = selecionada;
 	}
 }
 

rangelmp

Joined: 14/12/2006 00:00:00
Messages: 26
Offline


To help anyone that want to help-me:

Code of the rowSelection:
Code:
 <ice:dataTable id="data" value="#{pessoas}" var="p" rows="5" partialSubmit="true" >
 					<ice:column>
 						<ice:rowSelector value="#{p.selected}" multiple="false"
 							selectedClass="tableRowSelected"
 							selectionListener="#{mmm.rowSelection}" />
 ...............
 


Bean
Code:
 	public void rowSelection(RowSelectorEvent e) {
 		selectedRows.clear();
 		for (int i = pessoas.size() - 1; i >= 0; i--) {
 			System.out.println("Pessoa "+ i +" nome pessoa " + pessoas.get(i).getNome());
 			
 			if (pessoas.get(i).getSelected().booleanValue()) {
 				selectedRows.add(pessoas.get(i));
 
 				selecionada = pessoas.get(i);				
 			}
 		}
 	}
 


The action of the edit Button
Code:
     public void editContent(){
     	showModalPanel = true;
     }
 


The popUp code:
Code:
 <ice:panelPopup id="popup" 
 							visible="#{mmm.showModalPanel}" 
 							rendered="#{mmm.showModalPanel}" 
 							style="z-index:1001; width: 300px;">
 				<f:facet name="header">
 					<ice:panelGrid width="100%" cellpadding="0" cellspacing="0"
 						columns="2" style="text-align: center;">
 						<ice:outputText style="color: #FFFFFF;" value="Entrada de dados" />
 					</ice:panelGrid>
 				</f:facet>
 
 				<f:facet name="body">
 					<ice:panelGrid width="100%" cellpadding="0" cellspacing="0"
 						column="1">
 						<ice:outputText value="Nome: " />
 						<ice:inputText value="#{mmm.selecionada.nome}" partialSubmit="true" required="true" />
 						<ice:outputText value="E-mail: " />
 						<ice:inputText value="#{mmm.selecionada.email}" partialSubmit="true" required="true" />
 						<ice:outputText value="Telefone: " />
 						<ice:inputText value="#{mmm.selecionada.telefone}" partialSubmit="true" required="true" />
 						<ice:commandButton value="Confirmar" id="popConfirmar"
 							action="#{mmm.popConfirmar}" immediate="true" />
 						<ice:commandButton value="Fechar" id="popFechar"
 							action="#{mmm.popFechar}" immediate="true" 
 							actionListener="#{mmm.clearSelections}"/>
 
 					</ice:panelGrid>
 				</f:facet>
 
 			</ice:panelPopup>
 


Thankz for everone.!
rangelmp

Joined: 14/12/2006 00:00:00
Messages: 26
Offline


Did someone found any solution or any explain?
keny

Joined: 30/11/2006 00:00:00
Messages: 20
Offline


Hi,

I'am having exactly the same kind of problem, and I've searched all over the forum for a solution, but unfortunatelly wasn't able to find it. The only solution I came by was to use binding attribute on inputtext components and to set submited values of the backing bean to null in case of insert or to concreate values in case of update or delete.

However this requires a lot of work(creating backing beans for binding and setting their subbmited values by hand). Is this the only way to make it work or there is more elegant solution.
rangelmp

Joined: 14/12/2006 00:00:00
Messages: 26
Offline


Kenny. Can you post a example of your solution? A code of your backing beans for binding or something that can help-me? I try to do this have 4 days...

Thankz for your help!
keny

Joined: 30/11/2006 00:00:00
Messages: 20
Offline


Hi,

this is method in ContactBackingBean class. I'am calling this method every time I want to inset, update or delete the contact. If I'm inserting data then this method receive new empty contact.
Code:
 public Contact copyProperties(Contact contact){
 		
 		if(contactFirstNameUIInput!=null){
 			contactFirstNameUIInput.setSubmittedValue(contact.getContactFirstName());
 			contactFirstNameUIInput.setValue(contact.getContactFirstName());
 		}
 		if(contactLastNameUIInput!=null){
 			contactLastNameUIInput.setSubmittedValue(contact.getContactLastName());
 			contactLastNameUIInput.setValue(contact.getContactLastName());
 		}
 		if(contactPositionUIInput!=null){
 			contactPositionUIInput.setSubmittedValue(contact.getContactPosition());
 			contactPositionUIInput.setValue(contact.getContactPosition());
 		}
 		if(contactTelefon1UIInput!=null){
 			contactTelefon1UIInput.setSubmittedValue(contact.getContactTelefon1().getMediaValue());
 			contactTelefon1UIInput.setValue(contact.getContactTelefon1().getMediaValue());
 		}
 		if(contactTelefon2UIInput!=null){
 			contactTelefon2UIInput.setSubmittedValue(contact.getContactTelefon2().getMediaValue());
 			contactTelefon2UIInput.setValue(contact.getContactTelefon2().getMediaValue());
 		}
 		if(contactMobileUIInput!=null){
 			contactMobileUIInput.setSubmittedValue(contact.getContactMobile().getMediaValue());
 			contactMobileUIInput.setValue(contact.getContactMobile().getMediaValue());
 		}
 		if(contactFaxUIInput!=null){
 			contactFaxUIInput.setSubmittedValue(contact.getContactFax().getMediaValue());
 			contactFaxUIInput.setValue(contact.getContactFax().getMediaValue());
 		}
 		if(contactEmailUIInput!=null){
 			contactEmailUIInput.setSubmittedValue(contact.getContactEmail().getMediaValue());
 			contactEmailUIInput.setValue(contact.getContactEmail().getMediaValue());
 		}
 		if(contactSalutationUIInput!=null){
 			contactSalutationUIInput.setSubmittedValue(contact.getContactSalutation());
 			contactSalutationUIInput.setValue(contact.getContactSalutation());
 		}
 		if(contactTitleUIInput!=null){
 			contactTitleUIInput.setSubmittedValue(contact.getContactTitle());
 			contactTitleUIInput.setValue(contact.getContactTitle());
 		}
 		return contact;
 	}	
 
 
 and this is one inputtext.
 
 <h:inputText binding="#{customerSession.contactBackingBean.contactEmailUIInput}" id="saEmail" value="#{customerSession.contact.contactEmail.mediaValue}"/>
 


I hope this helps and if you need further assistance or clarification of the code provided here don't hesitate to ask. However I'm uncertain that this is a good solution-it just provide me the behaviour I need.
rangelmp

Joined: 14/12/2006 00:00:00
Messages: 26
Offline


Keny. In a topic (http://www.icefaces.org/JForum/posts/list/3508.page) a person have a similar proglem and solve it using:

Code:
 PersistentFacesState state = PersistentFacesState.getInstance();
 					state.render();
 				} catch (Exception e1) {
 					e1.printStackTrace();
 				}
 


But this solution don´t work for me but can work for you keny. When i try it i got a error:

Code:
 17:04:53,140 ERROR [TxPolicy] IllegalStateException while setting transaction for rollback only
 java.lang.IllegalStateException: Transaction has terminated TransactionImpl:XidImpl[FormatId=257, Global
 chQual=, localId=16]
         at org.jboss.tm.TransactionImpl.lock(TransactionImpl.java:834)
         at org.jboss.tm.TransactionImpl.setRollbackOnly(TransactionImpl.java:669)
         at org.jboss.aspects.tx.TxPolicy.setRollbackOnly(TxPolicy.java:212)
         at org.jboss.ejb3.tx.Ejb3TxPolicy.handleInCallerTx(Ejb3TxPolicy.java:87)
         at org.jboss.aspects.tx.TxPolicy.invokeInCallerTx(TxPolicy.java:130)
         at org.jboss.aspects.tx.TxInterceptor$Required.invoke(TxInterceptor.java:201)
         at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
         at org.jboss.aspects.tx.TxPropagationInterceptor.invoke(TxPropagationInterceptor.java:76)
         at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
 


Keny i never use the binding attribute can you can post your back bean for:
#{customerSession.contactBackingBean.contactEmailUIInput}
#{customerSession.contact.contactEmail.mediaValue}

Tahnkz.
 
Forum Index -> Components
Go to:   
Powered by JForum 2.1.7ice © JForum Team