新工做上班九天心得(附 bootstrap分頁寫法)

        新工做上班第九天了。寫寫本身的心得。      
css

        新工做第三天,分配了一個項目,一個開發組長,三個開發人員,一個月完成。開發人員:1. 蘇:工做經驗比我還多(10年),2. 曾:工做一年多。3.我。      
html

         第四天:討論開發框架,論壇了蘇從網站上自動生成代碼的那一套。我的以爲很差用。開發組長周看起來像打醬油的,開發框架本身都沒有,還要咱們本身拿主意。       
前端

         第五天:組長周給了一套他本身用過的開發代碼,在resin上能夠啓動,可是隻有源代碼,沒有用Eclipse搭起來的項目。蘇和週一致說用任何編輯器寫好代碼之後,放到resin裏面就跑。我以爲難以想象。(進入工做發現有太多難以想象了!)怎麼可能不編譯調試。我用Eclipse新建了一個項目,導入了周給的代碼。項目能啓動,就是首頁地址有的請求路徑不對。他的代碼全是放到root下面的,而我新建的項目是在個人項目名稱下面。               
        第二週,      
        週一:這個不太懂的周說:「你這仍是適應不了這個開發環境,這樣你今天仍是不能作事!」我靠!通過研究,在tomcat裏面改個配置便可                             
        <Context path="" docBase="E:/code/apache-tomcat-6.0.39kaowu/webapps/eapp" debug="0" reloadable="true"/>               
        docBase路徑不能有空格。               
        開始作登錄,沿用Apache shiro 的登錄 還比較順利             
         週二,作表單錄入,直接controller調用dao保存方法比較快。       
        (題外:他們也是用的springmvc hibernate 可是能夠直接請求XX.jsp,跟我以前作過的項目徹底不同,爲此研究了好久,發現他們的文件是放在webroot下面 不在web-inf目錄下面。原來放在webroot下面是通過過濾器,可是不通過mvc 的控制器的。)         
        另外發現:在webroot下面時相對路徑很差使,是否是要在web-inf下面纔有用呢,未得驗證。               
        週三,作列表。我原來用的頁面前臺都是easyui。此次的項目要兼容手機端,html5。因而美工妹子曾用了bootcss.(比我有見識,很是流行的前端有easyui,bootcss,ext js).                
        用bootstrap 表格的時候開始是客戶端分頁,在妹子的幫助下,找到了文檔 http://bootstrap-table.wenzhixin.net.cn/examples/                
        找到了傳到後臺的每頁條數Limit,和記錄開始數Offset。            
        開始封裝。分享一下個人代碼。從bootstrap table 獲取頁碼和頁數,並交給後臺處理。html5

$('#table').bootstrapTable({
            url: '<%=path%>/FeedList.cqzk',
            striped: true,
            pagination: true,
            pageList: [3,5,20],
            pageSize:3,
            pageNumber:1,
            sidePagination:'server',//設置爲服務器端分頁
            columns: [{
                field: 'title',
                title: '標題'
            }, {
                field: 'creatTime',
                title: '時間'
            } ]
        });



  @RequestMapping(value = "/FeedList.cqzk")
    @ResponseBody
    public String url_ad1(HttpServletRequest request,BootPage page) 
            throws ServletException,IOException,RuntimeException{
        
        @SuppressWarnings("unchecked") 
//        List<Feedback> list = feedBackDao.find("from Feedback");
        BootPage pager = feedBackDao.getByPage("from Feedback",page,null);
        System.out.println((JSONArray.fromObject(pager)).getString(0).toString());
        return      (JSONArray.fromObject(pager)).getString(0).toString(); 
   //   不寫.getString(0) 就多一箇中括號,返回的就是數組,寫了就是返回第一個對象。
    }
    


public BootPage getByPage(String hql,BootPage pager,Map<String, Object> condition){
        if (pager == null) {
            throw new IllegalArgumentException("分頁 不能爲空!");
        }

        Query q = sessionFactory.getCurrentSession().createQuery(hql);
        q.setFirstResult(pager.getOffset());
        q.setMaxResults(pager.getLimit());

        if (condition != null) {
            q.setProperties(condition);
        }
        pager.setRows(q.list());
        pager.setTotal(this.countAll(hql, condition));
        return pager;
        
    }
    protected Long countAll(String hql, Map<String, Object> condition) {
        if (hql == null) {
            return 0l;
        }
        String tmpHql = hql.toLowerCase();
        String regex = hql.substring(0, tmpHql.indexOf("from"));
        hql = hql.replaceFirst(regex, "select count(*) ");
        Query q = sessionFactory.getCurrentSession().createQuery(hql);
        if (condition != null) {
            q.setProperties(condition);
        }
        return (Long) q.uniqueResult();
    }


public final class BootPage<T> {
    
    protected Long total;
    
    protected List<T> rows;
    
    protected int limit=0;
    
    protected int offset = 0;
    
    protected String order ="asc" ;
相關文章
相關標籤/搜索