WEB开发网
开发学院软件开发Java 用动态元素自动更新 Web 页面 阅读

用动态元素自动更新 Web 页面

 2010-01-08 00:00:00 来源:WEB开发网   
核心提示: 重定向 Web 页面本节介绍了如何基于所单击的链接将用户重定向到一个新的页面,我使用 JSF 导航规则来重定向页面,用动态元素自动更新 Web 页面(8),OnClickAction() 方法返回 “success” 以开始这个动作,通过发送到 Httpsession 的

重定向 Web 页面

本节介绍了如何基于所单击的链接将用户重定向到一个新的页面。我使用 JSF 导航规则来重定向页面。OnClickAction() 方法返回 “success” 以开始这个动作。通过发送到 Httpsession 的数据来为新页面提供内容。数据由受管 bean DetailBean 从新页面的 Httpsession 检索。之后,DetailBean 再相应地创建其 GUI 组件。

清单 7 给出了这些详细的实现。“detail.jsp” 是用户将被重定向到的新页面。getDetailgrid() 是 detail.jsp 内的 DetailBean 的一部分,它被绑定到一个方法,该方法能创建此页面内的动态元素。在这个方法中,首先获得应该显示的类别数据,然后再使用 populate() 方法相应创建 GUI 内容。您可以研究 populate() 了解如何实时创建动态 GUI 元素,甚至进行页面布局。所有的页面信息都将由类别数据从 Httpsession 传递过来,所以,理论上讲,放入 Httpsession 的数据决定了新页面的外观。


清单 7. 将用户重定向到详细信息页面
detail.jsp 
…… 
<f:view> 
  <h:form id="detailForm"> 
    <h:panelGrid id="list"> 
  <h:outputText id = "book_list" value="#{DetailBean.title}"/> 
 <h:panelGrid id = "detail" binding = "#{DetailBean.detailgrid}"/> 
    </h:panelGrid> 
    <h:commandButton id="back" value="Back" action="success"/> 
  </h:form> 
</f:view> 
 
public class DetailBean { 
…… 
  private HtmlPanelGrid detailgrid = null; 
  private Category cat; 
  public HtmlPanelGrid getDetailgrid() { 
 if(detailgrid == null){ 
 detailgrid = new HtmlPanelGrid(); 
 } 
 detailgrid.getChildren().clear(); 
 HttpSession session = 
    (HttpSession)JSFUtil.getFacesContext().getExternalContext().getSession(true); 
 cat = (Category)session.getAttribute("CATEGORY"); 
 session.removeAttribute("CATEGORY"); 
 populate(detailgrid); 
 return detailgrid; 
  } 
  public void setDetailgrid(HtmlPanelGrid detailgrid) { 
 this.detailgrid = detailgrid; 
  } 
 
  private void populate(HtmlPanelGrid parent) { 
 if (cat != null) { 
   String category = cat.getCategory(); 
   ArrayList<BookItem> items = cat.getBookitems(); 
   if (category.equals("News paper")) { 
          //create GUI for News paper category. 
       }else if (category.equals("Magazine")) { 
          //create GUI for Magazine category. 
       }else{ 
          //create GUI for other categories. 
       } 
   
}      

上一页  3 4 5 6 7 8 9 10  下一页

Tags:动态 元素 自动

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接