この記事では主に、時間に応じてクエリを実行する JQueryMiniUI の実装方法を紹介します。編集者はこれがとても良いものだと思ったので、皆さんの参考として今から共有します。編集者をフォローして見てみましょう。皆さんのお役に立てれば幸いです。
評価の件は昨年に変わりますが、その時はライブラリ管理システムを構築したかったのですが、時間に合わせて検索するとフロントエンドのデータがバックエンドに転送できずに負けてしまいました。今、その一部を見直していますが、実際には何もありませんでしたが、当時はそれがただ無駄だったと感じました。では、時刻データをフロントデスクからバックグラウンドに転送するにはどうすればよいでしょうか?実際、検索中に実装される特別な関数があるため、それが通常の転送であるかどうかは問題ではありません
ページをロードするときに転送する必要があります。 jQuery-MINI UI の実装方法:
実際、私たちがやりたいのはデータをテーブルに表示することであり、最初にそれがどのように実装されているかを確認する必要があります。 :
フロントデスクも同じです:
<p id="datagrid1" class="mini-datagrid" style="width: 1000px; height: 280px;" url="../index?method=listAll" idField="id" multiSelect="true" sizeList="[5,10,15]" pageSize="10" > <p property="columns"> <p type="checkcolumn"></p> <p type="indexcolumn">序号</p> <p field="bookGuid" width="60" headerAlign="center" allowSort="true">图书编号</p> <p field="bookName" width="60" headerAlign="center" allowSort="true">图书名称</p> <p field="bookType" class="mini-combobox" width="60" renderer="onTypeRenderer">图书类别</p> <p field="suitable" width="60" renderer="onSuitRenderer">适合人群</p> <p field="buyDate" width="150" headerAlign="center" dateFormat="yyyy-MM-dd HH:mm:ss" allowSort="true">入库日期</p> <p field="count" width="60" style="color:red">借阅次数</p> <p field="remark" width="60" style="color:red">备注</p> <p name="action" width="120" headerAlign="center" align="center" renderer="onActionRenderer" cellStyle="padding:0;">操作</p> </p> </p>
上記は、ページがロードされるときにテーブルによって表示されるコンテンツです。そのため、p に url 属性があります。データのソースを教えてくれます
url="../index?method=listAll"
ページの読み込み時に listAll メソッドが呼び出されますが、検索時にもこのメソッドを呼び出しますが、データはバックグラウンドに渡されます。まず、データを渡す必要がないかどうかを見てみましょう。このフォームをロードする方法
var grid = mini.get("datagrid1"); grid.load();
function search() { var type1 = mini.get("type1").getValue(); var date1=mini.get("date1").getValue(); var timestamp = Date.parse(date1); grid.load({ type1:type1, timestmp:timestamp }); }
ここには時間が転送されないという特徴があります。 yyyy-MM-dd の形式ですが、タイムスタンプを使用してバックグラウンドに転送されます。つまり、データ型がバックグラウンドでどのように受信されるかを見てみましょう
public void listAll(HttpServletRequest request, HttpServletResponse response) throws Exception{ String type=request.getParameter("type1"); String lstr=request.getParameter("timestmp"); long time=0; if(lstr!=null && isNumeric(lstr)){ time=Long.parseLong(lstr); } Date date1=new Date(); date1.setTime(time); Date date2=new Date(); date2.setTime(time+24*60*60*1000); SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd"); String sql="select * from bookinfo"; if(type!= null && type.length()>0 && time==0) { sql="select * from bookinfo where booktype="+Integer.parseInt(type); } else if(time!=0 && type.length()==0) { sql ="select * from bookinfo where buydate between \""+ sdf.format(date1) +"\" and \""+sdf.format(date2)+"\""; } else if(time!=0 && type.length()>0) { sql ="select * from bookinfo where booktype="+Integer.parseInt(type)+" and buydate between \""+ sdf.format(date1) +"\" and \""+sdf.format(date2)+"\""; } else { sql ="select * from bookinfo"; } System.out.println(sql); //要知道的是联合查询中需要得到的List也是显示出来的 List list=mdao.getList(sql); //实现的是分页 int pageSize=Integer.parseInt(request.getParameter("pageSize")); int pageIndex=Integer.parseInt(request.getParameter("pageIndex")); List sub_list=new ArrayList<>(); int start=pageIndex*pageSize; for(int i=start;i<list.size() && i<start+pageSize;i++) { sub_list.add(list.get(i)); } String json=JsonUtil.listToJson(sub_list, "yyyy-MM-dd hh:mm:ss"); System.out.println(json); json=JsonData.modifyJson(json); json=json.replaceFirst("null", list.size()+""); response.getWriter().write(json); }
要するに、データ時刻データを送信するときにJQuerymini-uiを使用します。時刻を渡すだけの場合、時刻の形式は期待どおりではなく、バックグラウンドでさまざまな判定を行うために、一部の判定を軽減するためにタイムスタンプを渡すようになり、時刻形式を簡単に変換できるようになりました。 H 関連する推奨事項: inThinkphp+jquery miniui 開発管理システム
Thinkphp+jquery miniui 開発管理システム、ThinkPhpjqury
jqury miniui チュートリアル フォーム コントロール マージ cell_JQUERY
以上が時間に基づいて JQueryMiniUI クエリを実装する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。