Sealyu

          --- 博客已遷移至: http://www.sealyu.com/blog

            BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
            618 隨筆 :: 87 文章 :: 225 評論 :: 0 Trackbacks
          項目中客戶提了一個要求,在進行完操作離開表格頁面后,如果再回到這個頁面,要求能保存以前離開時的樣子,(排序,過濾和條目屬性等等。)
          剛開始自己研究了一下代碼,新建一個form來儲存TableFacade的limit屬性到session里,實現了這個功能。
          后來發想Jmesa本身就有一個stateAttr屬性用來保存狀態,wiki中有詳細的使用說明:
          State  

          The State interface is used to set and retrieve the table Limit. Implementations will set the Limit so that it can be retrieved at a later time. This is useful so a user can return to a specific table with it filtered, sorted, and paged exactly like they left it.

          All you have to do is set the stateAttr to the parameter to look for in the url, or the attribute in the request, to tip the table off that the Limit in the users session should be used.

          Example

          For example in the TableFacade just pass in the name of the parameter to use:

          TableFacade tableFacade =TableFacadeFactory.createTableFacade(id, request);
          tableFacade.setStateAttr("restore");

          The same goes for using the tags:

          <jmesa:tableFacade
                  id="basic"
                  stateAttr="restore"
                  ...
                  >

          As you can see in the following example, by passing in a parameter of "restore=true" then the table is rendered in the same way that you left it. That is really all there is too it!

          Note: Just be sure that you have a unique table id for each table that you define. Technically the Limit object for each table is stored in the users session keyed by the table id. If the tables are not unique then you will overwrite one Limit with another.



          posted on 2009-01-21 10:51 seal 閱讀(591) 評論(0)  編輯  收藏 所屬分類: web
          主站蜘蛛池模板: 措勤县| 德庆县| 温州市| 厦门市| 平邑县| 顺义区| 元氏县| 天峻县| 临湘市| 和平县| 乐东| 读书| 舟山市| 济阳县| 股票| 花莲县| 邢台县| 伊通| 沭阳县| 舒兰市| 武川县| 新平| 元谋县| 遂昌县| 大城县| 湄潭县| 泗水县| 庆城县| 青浦区| 黄大仙区| 绥江县| 永嘉县| 南木林县| 连城县| 丰都县| 合作市| 深水埗区| 万全县| 和龙市| 南城县| 莱阳市|