国产探花免费观看_亚洲丰满少妇自慰呻吟_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頁。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 鱼台县| 疏附县| 襄城县| 太湖县| 班戈县| 远安县| 年辖:市辖区| 常宁市| 马鞍山市| 肇州县| 塔河县| 池州市| 枞阳县| 湘西| 中宁县| 罗江县| 新乡市| 巴林右旗| 武乡县| 新野县| 麻城市| 班戈县| 临西县| 平安县| 衡阳市| 广安市| 手游| 罗源县| 蕲春县| 潮安县| 郁南县| 乌拉特中旗| 嘉义市| 阳曲县| 古浪县| 万宁市| 虞城县| 天台县| 天台县| 武强县| 尖扎县|