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>
它具有圖像如下
添加多個userlogins我希望看到它按下觀看按鈕後後。所以我使用了arraylist來收集登錄對象並使用t:datatable來列出值。我用greybox JavaScript代碼來顯示一個頁內
它看起來像下面的圖片
你可以看到在第二頁更新按鈕。該更新按鈕用於更新輸入文本值中的編輯值。但如果我點擊更新按鈕,則不會發生變化。所以我只是調用一個普通的支持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;
}
這種方法不叫。以上代碼僅在表單標籤中存在。我認爲問題在於灰箱代碼。
/
我很確定問題出現在您的託管bean的#76行:-D – Leo
@ leo對不起,我無法讓您。您可以獲得我的託管bean行號 –
如果您想快速獲得幫助,編輯你的代碼,刪除所有不必要的代碼,比如CSS樣式等,我什至不能找到你調用你的方法的地方。 –