2014-04-14 78 views
0

我在我的項目中遇到問題。我正在使用jsf1.2,towmhawk,a4j框架和greybox javascript。我想獲得多個用戶名和密碼。所以我用下面的代碼從灰框窗口調用ManagedBean方法

ManagedBean: psgBean 
    private String username;(managedbean code) 
    private String password; //setter and getters 
    public String addPsgLogin() 
    { 
     System.out.println("inside addUP"); 
     if(username.length()!=0 && password.length()!=0) 
     { 
      psgLoginFlag=1; 
      psgUserNameErrorMsg=""; 
      psgPasswordErrorMsg=""; 
     NiPsgLoginInfo psgObj=new NiPsgLoginInfo(username,password); 
     userpassList.add(psgObj); 

     } 




My Jsp page :newInstallations 

         UserName 
<h:inputText styleClass="text_box_content" id="psgUserName" value="#{psgBean.username}" size="35" /> 
<h:outputLabel id="psgUserNameErrorMsg" styleClass="error_style" value="#{psgBean.psgUserNameErrorMsg}" /> 

Password 
<h:inputText styleClass="text_box_content" id="psgPassword" value="#{psgBean.password}" size="35" /> 
    <h:outputLabel id="psgPasswordErrorMsg" styleClass="error_style" value="#{psgBean.psgPasswordErrorMsg}" /> 


<h:commandButton styleClass="button_style" value="Add" actionListener="#{psgBean.addPsgLogin}"/>           

<h:commandButton styleClass="button_style" value="Reset" onclick="psgClear()" type="button" /> 

<h:outputLink value="psgusername.faces" onclick="return GB_myShow('Solvedge smartphone Web Portal', this.href,600,850)" > 
<h:commandButton styleClass="button_style" value="View"></h:commandButton> 
</h:outputLink>    

它具有圖像如下login page

添加多個userlogins我希望看到它按下觀看按鈕後後。所以我使用了arraylist來收集登錄對象並使用t:datatable來列出值。我用greybox JavaScript代碼來顯示一個頁內

它看起來像下面的圖片

enter image description here

你可以看到在第二頁更新按鈕。該更新按鈕用於更新輸入文本值中的編輯值。但如果我點擊更新按鈕,則不會發生變化。所以我只是調用一個普通的支持bean方法,也沒有調用。這裏是視圖

<h:form> 
<t:dataTable var="us" value="#{psgBean.userpassList}" rowIndexVar="rowid" styleClass="UserTable" id="psgLoginList" headerClass="UserTable_Header" 
rowClasses="UserTable_Row1,UserTable_Row2" columnClasses="UserTable_ColumnLeft"> 

<h:column> 
<f:facet name="header" > 
<t:outputText styleClass="table_header_value" value="S.No" /></f:facet> 
<h:inputText styleClass="text_box_content" value="#{rowid+1}" /> 
</h:column>             

<h:column> 
<f:facet name="header"> 
<t:outputText styleClass="table_header_value" 
value="UserName" /> 
</f:facet> 
<h:inputText styleClass="text_box_content" 
value="#{us.username}" /> 
</h:column> 


<h:column> 
<f:facet name="header"> 
<t:outputText styleClass="table_header_value" 
value="Password" /> 
</f:facet> 
<h:inputText styleClass="text_box_content" 
value="#{us.password}" /> 
</h:column> 


<h:column> 
<f:facet name="header"> 
<t:outputText styleClass="table_header_value" 
value="Delete" /> 
</f:facet> 
<h:commandButton value="Delete" action="#{psgBean.deletePsgLogin}"> 
<t:updateActionListener value="#{us}" property="#{psgBean.deletable1}"></t:updateActionListener> 
<a4j:support ajaxSingle="true" reRender="psgLoginForm:psgLoginList"></a4j:support> 
</h:commandButton> 
</h:column> 
</t:dataTable> 
<h:commandButton value="Update" action="#{psgBean.saveClicking}"> 
    </h:commandButton> 
<h:commandButton value="cancel" onclick="winclose()"></h:commandButton> 
    </h:form> 

這裏的代碼

其他JSP頁面中託管bean的方法

public String saveClicking() 
{ 
    System.out.println("just checking"); 
    return null; 
} 

這種方法不叫。以上代碼僅在表單標籤中存在。我認爲問題在於灰箱代碼。

/

+0

我很確定問題出現在您的託管bean的#76行:-D – Leo

+0

@ leo對不起,我無法讓您。您可以獲得我的託管bean行號 –

+0

如果您想快速獲得幫助,編輯你的代碼,刪除所有不必要的代碼,比如CSS樣式等,我什至不能找到你調用你的方法的地方。 –

回答

0

我發現了錯誤。我把rowId(s.no)放在inputbox中,因爲它是自動遞增的,所以我們不能更新這個值。