我的项目有问题。我正在使用jsf1.2,towmhawk,a4j框架和greybox javascript。我想获得多个用户名和密码。所以我使用下面的代码
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>
图片如下
添加多个用户登录后,我希望在按下查看按钮后看到它。所以我使用arraylist收集登录对象并使用t:datatable列出值。我使用greybox javascript代码来显示内页
看起来像下图
您可以在第二页看到更新按钮。该更新按钮用于更新inputtext值中的已编辑值。但如果我点击更新按钮,则不会发生任何变化所以我只是调用了一个普通的支持bean方法,也没有调用。这是代码
查看其他jsp页面
<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>
这是托管bean中的方法
public String saveClicking()
{
System.out.println("just checking");
return null;
}
此方法未被调用。上面的代码只与表单标签一起出现。我认为问题在于灰盒代码。
/
答案 0 :(得分:0)
我发现了错误。我将rowId(s.no)放在inputbox中,因为它是自动递增的,我们无法更新该值。