Hi,
I am new to jsf and I m using my faces. I m getting
problem regarding  "x:dataTable" and
"x:updateActionListener". I am actually I have seen
some posts regarding "x:dataTable" and
"x:updateActionListener" but I donot able to solve my
problem. Plz chk this problem and tell me where I m
doing wrong. 
The problem is that when I click on the link instead
of send that particular row (or taskId) it sends the
whole List and then it iterate the whole list and
display the list row values on the next page. Here is
the code:

inbox.jsp

                <x:dataTable id="data"
                        styleClass="scrollerTable"
                       
headerClass="standardTable_Header"
                       
footerClass="standardTable_Header"
                       
rowClasses="standardTable_Row1,standardTable_Row2"
                       
columnClasses="standardTable_Column,standardTable_ColumnCentered,standardTable_Column"
                        var="task"
                       
value="#{inboxTaskBean.taskList}"
                        preserveDataModel="true"
                        rows="10"
                   >

                   <h:column>
                       <f:facet name="header">
                          <h:outputText
value="#{messages['label_taskId']}" />
                       </f:facet>
                       <h:outputText
value="#{task.taskId}" />
                   </h:column>

                   <h:column>
                       <f:facet name="header">
                          <h:outputText
value="#{messages['label_weburi']}" />
                       </f:facet>
                               
                     <x:commandLink action="task"
immediate="true" >
                               <h:outputText
value="#{task.webFormURI}" />

                               <x:updateActionListener
property="#{taskForm.taskId}" value="#{task.taskId}"
/>
                       </x:commandLink>

                   </h:column>

                </x:dataTable>


TaskForm.java

import javax.faces.context.FacesContext;

public class TaskForm {
        
        private String taskId = null;
        private String webFormURI = null;

        public TaskForm(){
                System.out.println("Task Form: " + taskId);
        }

        public String getTaskId() {
                return taskId;
        }

        public void setTaskId(String taskId) {
                
                System.out.println("I m in setTaskId : " + taskId);
                if(taskId != null){
                        InboxTask inboxTask = getList().getTask(taskId);
                        System.out.println("Complete Task : " +
inboxTask.toString());
                        if(inboxTask != null){
                                insId = inboxTask.getInsId();
                                webFormURI = inboxTask.getWebFormURI();
                        }
                }
        }

        public String getWebFormURI() {
                return webFormURI;
        }

        public void setWebFormURI(String webFormURI) {
                this.webFormURI = webFormURI;
        }
        
    private SelectTaskBean getList()
    {
        Object obj =
FacesContext.getCurrentInstance().getApplication().getVariableResolver()
           
.resolveVariable(FacesContext.getCurrentInstance(),
"inboxTaskBean");
        return (SelectTaskBean) obj;
    }
}

taskForm.jsp


        <f:facet name="body">
            <h:panelGroup>
                    <x:saveState
value="#{taskForm.taskId}" />

                    <h:panelGrid columns="1"
styleClass="countryFormTable"
                                
columnClasses="countryFormLabels" >
                        <h:panelGroup>
                               <h:outputText
value="#{taskForm.taskId}" />
                               <h:outputText
value="#{taskForm.webFormURI}" />

                        </h:panelGroup>

                    </h:panelGrid>
            </h:panelGroup>
        </f:facet>


Regards,
Farooq Mahmood
[EMAIL PROTECTED]

Reply via email to