国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > 綜合 > 正文

JSF實例:組件顯示(隱藏)與數據排序

2024-07-21 02:14:56
字體:
來源:轉載
供稿:網友

  jsf中處理組件的顯示和隱藏、數據的排序等相對其它框架非常容易和直接了當, 常被教科書作為實例分析和講解。下面這個實例來自名為《 mastering javaserver faces中文版》的書(略有改動),通過組件的顯示(或隱藏)及數據的排序來講解jsf中ui組件的用法。

  先看看它的界面共三個(1)index.jsp,

  (2)modifyinvoice.jsp,這個修改發票界面有一個顯示(隱藏)按鈕,點擊時可顯示(或隱藏)部分組件。

(3)viewinvoices.jsp,顯示全部發票的列表。并可以按發票序號和數額排序。

  主要看看這個頁面中,當點擊發票的發票序號時如何正確返回到modifyinvoice.jsp頁面(在我們自己的實踐當中一定要遇到的問題啊,通常的做法是超鏈接當中帶參數)。當然首先要在faces-config.xml文件中定義導航法則:


  /viewinvoices.jsp
  
    modifyinvoice
    /modifyinvoice.jsp
  

  從源碼可以知道這個頁面通過一個 標記來顯示所有發票。

...
   value="#{invoice.invoicenumber}"    action="#{viewinvoicespage.modifyinvoice}">
  
 

.....

  從上看出,當我們點擊發票的序號時,jsf調用viewinvoicespage.modifyinvoice方法。

 public string modifyinvoice() {   facescontext facescontext = facescontext.getcurrentinstance();           uiviewroot root = facescontext.getviewroot();   uidata table = (uidata) root.findcomponent("invoiceform").findcomponent("table");   invoicebean invoice = (invoicebean) table.getrowdata();   valuebinding binding = 
  facescontext.getapplication().createvaluebinding("#{modifyinvoicepage}"); modifyinvoicepage detailpage = (modifyinvoicepage) binding.getvalue(facescontext); detailpage.setinvoice(invoice); return "modifyinvoice"; }

  如此看來,當用 標記顯示數據時,聰明的jsf用getrowdata()可以知道你點擊了那一行(即那一個發票號,這實際上是jsf將標記轉為html鏈接時自動加上了行索引),再將這一行數據傳給 modifyinvoice.jsp頁。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 武夷山市| 喀喇沁旗| 孟州市| 玉龙| 栾川县| 六安市| 公主岭市| 大厂| 柘荣县| 绥阳县| 成武县| 洪雅县| 浮梁县| 安丘市| 黔江区| 灵山县| 柳江县| 潮安县| 镇巴县| 横山县| 枣阳市| 绍兴县| 江都市| 宁陵县| 饶阳县| 博白县| 天台县| 阿勒泰市| 会同县| 广平县| 黎川县| 永清县| 鄢陵县| 邵东县| 崇州市| 卓尼县| 垫江县| 锦屏县| 建始县| 菏泽市| 石景山区|