1
我的编辑页面不显示bean的值时,它是由一个JDBC搜索填充DataList控件调用,但工作得很好,如果列表不从JDBC搜索。编辑commandLink进入编辑页面,但不填充值到输入字段
的删除链接工作得很好,但编辑链接只是在田里没有填充值返回编辑页面。
我bean是一个ViewScoped豆。
DataList的显示页面:
<h:form rendered="#{not empty usersManagedBean.usersList}" id="form">
<div class="table-responsive">
<h:dataTable value="#{usersManagedBean.userModel}"
var="showUser"
styleClass="table table-striped table-bordered table-hover">
<h:column>
<f:facet name="header">
Username
</f:facet>
<h:outputText value="#{showUser.username}"/>
</h:column>
<h:column>
<f:facet name="header">
First Name
</f:facet>
<h:outputText value="#{showUser.firstname}"/>
</h:column>
<h:column>
<f:facet name="header">
Last Name
</f:facet>
<h:outputText value="#{showUser.lastname}"/>
</h:column>
<h:column>
<f:facet name="header">
Security Level
</f:facet>
<h:outputText value="#{showUser.groupname}"/>
</h:column>
<h:column rendered="false">
<f:facet name="header">
Security Level
</f:facet>
<h:outputText value="#{showUser.id}"/>
</h:column>
<h:column>
<h:commandLink value="Edit"
action="#{usersManagedBean.updateUser()}">
</h:commandLink>
||
<h:commandLink value="Delete"
onclick="if (!confirm('Are you sure, you want to delete #{showUser.username}?')) {
return false;
}
;
return true;
" action="#{usersManagedBean.deleteUser(showUser)}">
</h:commandLink>
</h:column>
</h:dataTable>
<h:link outcome="AddUser.xhtml" value="Add New User"/>
</div>
编辑页面:
<h:form>
<div class="form-group">
<label>First Name:</label>
<h:inputText id="firstname" styleClass="form-control" value="#{usersManagedBean.user.firstname}"></h:inputText>
<label>Last Name:</label>
<h:inputText id="lastname" styleClass="form-control" value="#{usersManagedBean.user.lastname}"></h:inputText>
<label>Username:</label>
<h:inputText id="username" styleClass="form-control" value="#{usersManagedBean.user.username}"></h:inputText>
<div class="form-group">
<label>Security Level:</label>
<h:selectOneMenu id="roleSelect" value="#{usersManagedBean.user.groupname}" styleClass="form-control">
<f:selectItem itemLabel="----" itemValue="----"/>
<f:selectItem itemLabel="Administator" itemValue="admin"/>
<f:selectItem itemLabel="User" itemValue="user"/>
</h:selectOneMenu>
</div>
<label>Password:</label>
<h:inputSecret id="password" styleClass="form-control" value="#{usersManagedBean.user.password}" required="true" requiredMessage="Enter Password"/>
<h:message for="password" style="color:red"/>
<label>Confirm Password:</label>
<h:inputSecret id="password2" styleClass="form-control" required="true" requiredMessage="Re-enter Password"/>
<h:message for="password2" style="color:red" />
<o:validateEqual components="password password2" message="Passwords don't match" showMessageFor="password2"/>
</div>
<h:commandButton value="Update" type="submit" styleClass="btn btn-default" action="#{usersManagedBean.saveUser()}"></h:commandButton>
||
<h:commandButton value="Cancel" onclick="history.back(-1);return false" styleClass="btn btn-default"></h:commandButton>
</h:form>
调用编辑页面的方法:
public String updateUser(){
user = userModel.getRowData();
return "EditUser.xhtml";
}
没有异常抛出在所有。
我如何可以去选择2/3,请进一步说明?只是大约3个星期新的jsf @tt_emrah – ollaollu 2014-10-10 20:19:11
经过这么多的进步性错误和不断的搜索之后,我疯狂的理解了真实当我离开时,JSF创建新实例的原因。这个http://stackoverflow.com/questions/8459903/correct-usage-of-session-scope-in-two-page-master-detail-user-interface/8464636#8464636帮助我成功地解决了它。感谢BalusC以清晰的方式回答了这两个帖子,并感谢tt_emrah的回答。 – ollaollu 2014-10-23 03:12:59
我没有机会详细解释它,对此感到遗憾。我希望至少我指出你正确的方向。谢谢... – 2014-10-23 06:01:21