JFinal +のlayuiに基づいて、エンタープライズアプリケーション管理システムのJFinal-layuiスピードの開発、コアエンタープライズ・アプリケーション・プロジェクトの構造として、JFinalがlayui完璧と組み合わせて機能を使用する、クイックスタートプロジェクトの目的を達成します。開発をより簡単かつ効率的に、あなたがlayuiていない場合でも、簡単に使用を習得することができます。
JFinal-layui v1.3.8は、主に最適化し、オンラインフォームのアップグレード、およびカスタムSQLデータ辞書機能、また開発経験に焦点を当てている間のみ、開発効率に注意を払っていないJFinal-layuiは、それが良いと言う使用しました!
JFinal-layui v1.3.8のアップデート:
1、オンラインフォーム:
オンラインフォームは、HTMLコードを編集することができますが、テキストフィールドでの経験を編集することは非常に良いではありません前に、何行番号がない、カーソルの位置をラップする時間は良くありませんが、コード・ページの表示は非常に良いではありませんので、順番に効率化と開発の経験を改善するために、いい感じにテキストフィールドの編集経験にオンラインフォームのテキストフィールドを最適化します!
この参照テキストフィールドには、単にテキストエリアのIDのような、ddlSqlにあり、非常に便利です。
<TEXTAREAのID = "ddlSql" 名前= "template_view" スタイル= "表示:なし;"> </ TEXTAREA
_layout.htmlは、メソッドが定義されているので:
<! -テーブルのSQL文本域- > の#define ddlSql() ます。<script type = "text / javascriptの"> VAR ddlSqlId =のdocument.getElementById( "ddlSql"); IF(ddlSqlId){ / ** *初始化テーブルSQL 3 * / VAR ddlSql = CodeMirror.fromTextArea(ddlSqlId、{ lineNumbers:真、 matchBrackets:真、 モード: "テキスト/ X-SQL"、 lineWrapping:偽、 読み取り専用:偽、 foldGutter:真、 樋:[ "CodeMirror-linenumbers"、 "CodeMirror-foldgutter"] })。 ddlSql.setSize( '自動'、 '自動'); } // ddlSql.getValue(); //取文本域值 // ddlSql。
ページプレビュー:
2、カスタムSQL:
SQLエディタでのように開くようにカスタムSQLは、SQL編集テキストフィールドを改善し、SQLキーワードは、色で区別されます
コンテンツフィールドddlSqlテキストフィールド、VaRの値= ddlSql.getValue()の適用は、テキストフィールドの値を取得します
<TEXTAREAのID = "ddlSql" 名前= "コンテンツ" スタイル= "表示:なし;">
3、データ辞書機能:
()の#setコマンドによって引用する直前に、機能を無効にし、必要なデータ辞書機能選択された値を、最適化する:として
//必要な値を選択し、無効に選択 の#set(値= "必須" = "無効"無効必要= "SYS"は、) getSelectBySql @#( 'query_orgを'、 'ORG_ID'、 '部署を選択してください')
図4は、複数の選択肢及び無制限レベルの連携機能を選択して拡張しました。
これは、プロジェクトに拡張layui主に統合されたコンポーネント、使いやすい、オンライン体験の住所である:SELECT複数の選択肢と無制限のリンケージ
5、BaseController、BaseService拡張メソッド:
拡張BaseController三つの方法:getAllParamsToJson、getAllParamsToRecord、byKv、いくつかの特別なJSONデータで使用する必要があります。
/** * 获取请求参数,转化为JSONObject * @return */ @NotAction public JSONObject getAllParamsToJson(){ JSONObject result=new JSONObject(); Map<String,String[]> map=getParaMap(); Set<String> keySet=map.keySet(); for(String key:keySet){ if(map.get(key) instanceof String[]){ String[] value=map.get(key); if(value.length==0){ result.put(key,null); }else if(value.length==1 && key.indexOf("[]")<0){ result.put(key,value[0]); }else{ result.put(key,value); } }else{ result.put(key,map.get(key)); } } return result; }
BaseService扩展自定义SQL查询,方便使用一些SQL模板和多数据源:
/** * 自定义sql查询,sql定义在sql模板文件中 * @param dbName 数据库配置名称,用于切换多数据源查询,为null时查询主数据源 * @param params 查询参数(JSONObject) * @param sqlTemplateName sql唯一名称(命名空间.sql语句名称) * @param orderBygroupBySql 排序语句 * @return */ public Grid queryForListBySqlTemplate(String dbName,Integer pageNumber,Integer pageSize,JSONObject params,String sqlTemplateName,String orderBygroupBySql) { DbPro dbPro = Db.use(); //切换数据源 if(StrKit.notBlank(dbName)) { dbPro = Db.use(dbName); } SqlPara sqlPara = dbPro.getSqlPara(sqlTemplateName,params); if(StrKit.notBlank(orderBygroupBySql)) {//如果有排序语句,则追加 sqlPara.setSql(sqlPara.getSql()+ "" + orderBygroupBySql)。 } ページ<録音>ページ= dbPro.paginate(ページ番号、pageSizeを、sqlPara)。 戻り新しいグリッド(page.getList()、ページ番号、pageSizeを、page.getTotalRow())。 }
6、最適化/ポータル/公共のルーティング方法の傍受プロセスを行きます:
/ポータル/ゴーは、HTMLへの完全なパスに続いて、静的なHTMLページに直接アクセスするが、ルートを変更するには失敗としてログインしたときに、それがアクセスすることを起こる場合は、ログインページにジャンプするとき、あなたはとても、ビューパラメータを失うことになりますログインインターセプタは、このインターフェイス、/ /ポータルを渡す方法をジャンプして行くことができるシンプルなページで、インターフェースの最適化処理を変更します。
リンク:
ダウンロード出典:JFinal-layui
オープンソース中国:JFinal-layuiオープンソース中国
システム・デモンストレーション:エンタープライズアプリケーション管理システムのJFinal-layuiスピード開発
地域交流:JFinal-layui公式コミュニティ
JFInal-layuiQQ群:970045838