快速业务通道

Seam - 无缝集成JSF,第2部分: 借助Seam进行对话 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-16
"/>     </s:decorate>    </li>   <ul>  </s:validateAll>  <p class="commands">   <h:commandButton id="save" action="#{courseAction.saveCourse}" value="Save"/>   <s:button id="cancel" view="/courses.jspx" value="Cancel"/>  </p> </h:form>

Seam - 无缝集成JSF,第2部分: 借助Seam进行对话(12)

时间:2011-06-25 IBM Dan Allen

添加删除功能

回顾代码片段,可以发现到目前为止重点内容大多涉及消除代码、选择,而不是通过注释描述功能,并由框架负责处理细节。这种简单性允许您集中精力处理更复杂的问题,并添加深受大家喜欢的奇特 Ajaxian 效果。您可能尚未认识到只需再做少量工作,就可以实现所有 CRUD 操作 —— 实际上即将到达最后阶段!

在应用程序中实现删除功能是一项简单的事情。只需向每行添加另一个 h:commandLink,该命令链接能激活支持 bean 的删除方法(deleteCourse())。我们已经实现了公开所选课程的工作,仅仅需要将绑定到课程属性的课程对象传递给 CourseManager 以终止该课程,如清单 16 中所示:

清单 16. 向 deleteCourse 添加命令链接

<h:dataTable id="courses" var="_course" value="#{courses}"  rendered="#{courses.rowCount gt 0}">  <h:column>   <f:facet name="header">Course Name</f:facet>   <h:commandLink id="select"     action="#{courseAction.selectCourse}" value="#{_course.name}" />  </h:column>  <h:column>   <f:facet name="header">Actions</f:facet>   <h:commandLink id="delete" action="#{courseAction.deleteCourse}" value="Delete" />  </h:column>  <!-- additional properties --> </h:dataTable>

在 deleteCourse() 方法中,如清单 17中所示,利用 Seam 的 FacesMessages 组件警告用户正在发生的操作。该消息是以典型的途径在视图中使用 h:messages JSF 组件显示的。但是首先请注意,创建消息是多么简单!您可以彻底抛弃以前令人头疼的 JSF 工具类;Seam 可靠地消除了 JSF 以前的阴影。

清单 17. 向 deleteCourse 添加操作方法

// ...   public String deleteCourse() {     courseManager.remove(selectedCourse.getId());     courses.remove(selectedCourse);     FacesMessages.instance().add(selectedCourse.getName() + " has been removed.");     // clear selection so that it won''t be shown in the detail pane     selectedCourse = null;     return "/courses.jspx";   }   // ...

Seam - 无缝集成JSF,第2部分: 借助Seam进行对话(13)

时间:2011-06-25 IBM Dan Allen

完整的课程列表

处理完所有 CRUD 操作,就即将完工了!剩下的惟一的一个步骤是将整个课程列表组装到一起,如清单 18 所示:

清单 18. 完整的课程列表视图

<h2>Courses</h2> <h:messages id="messages" globalOnly="true" /> <h:panelGroup rendered="#{courses.rowCount eq 0}">  No courses found. </h:panelGroup> <h:dataTable id="courses" var="_course" value="#{courses}&quo

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号