以前は、製品カテゴリに関連するビジネスロジックを完了し、その後、特定の製品部品を実行し始めました。
1.データベースモデルとマップモデルにテーブルを作成します
まず、データベースに新しいテーブルを作成し、リバースエンジニアリングを使用してテーブルをモデルクラスにマッピングします。テーブルは次のとおりです。
/*============================================================================= ==================================================================/テーブル製品( /*製品番号、自動成長* /ID INTプライマリキーNULL AUTO_INCREMENT、 /*製品名* /NAME VARCHAR(20)、 /*製品価格* /価格桁(8,2)、 /*製品画像* /PIC VARCHAR(200)、 /*製品簡単な紹介* /発言LONGTEXT、 /* PRODUCT ONTUNTING DATONAP、DAFTIMED*それは推奨される製品であり、モールのホームページに表示される可能性があります */コメントブール、/ *有効な製品であろうと、モールのホームページに表示される可能性があります */ open bool、/ *製品のカテゴリ番号はあります */ cid int、制約CID_FK外部キー(CID)参照(ID));
リバースエンジニアリングマッピングを使用してクラスをモデル化することについて詳しく説明しません。先ほど、リバースエンジニアリングを使用してモデルを生成する方法について言及しました。
2。製品カテゴリのサービスレイヤーとアクションアーキテクチャを完成させます
2.1製品カテゴリのサービスレイヤーアーキテクチャ
以前のカテゴリと同様に、製品には製品関連のビジネスロジックを運用するサービスも必要なため、ProductserviceとProductserviceImplのフレームワークを作成する必要があります。これは次のとおりです。
// Productservice Interface継承BaseService <Product> Public Interface Productservice Extends BaseService <Product> {} // ProductserviceImplはProductserviceImpl <Product> Class継承BaseService Interface @Service(「Productservice ")Public Classimpl extenss baseServiceimpl < 2.2商品カテゴリのアクション構造
まず、BaseActionのサービスレイヤーの注釈を改善する必要があります
@Controller( "BaseAction")@Scope( "Prototype")Public Class BaseAction <T> ActionSupport empltement RequestAware、SessionAware、ApplicationAware、ModelDriven <T> {@Resource Protected Productestervice Productservice; //他のコードは省略されています、または元のコード...}次に、メソッドを継承する製品を書きます。
パブリッククラスの製品拡張baseeaction <product> {}この時点で、製品のバックエンドアーキテクチャが基本的に構築されており、次のステップは特定の機能とビジネスロジックを改善することです。
3.フロントデスクの基本構造を完成させます
フロントデスクの基本構造は、商品カテゴリの構造と同じです。完成した商品カテゴリで利用可能なドキュメントを見てみましょう。
最初に、製品カテゴリのフロントデスクファイルに基づいて製品フォルダーにコピーをコピーし、次に対応する変更を行います。最初にプロセスを分析しましょう。最初に、index.jsp to aindex.jsp左側のメニューバーを表示します。カテゴリ管理をクリックするときは、カテゴリ/query.jspページを入力して、右側にすべての製品カテゴリ情報を表示します。このページには、検索および削除機能があります。新しいウィンドウをポップアップしたり、ポップアップSave.jspウィンドウを追加したり、update.jspウィンドウを追加したりする必要はありません。製品管理をクリックするときは、製品/query.jspページを入力して、右側にすべての製品情報を表示します。このページでは、検索および削除機能が完了しています。 save.jspとupdate.jspをそれぞれ追加および更新します。次に、各ページのフレームワークを構築し、対応する部分に記入します。
最初に次のコードをaindex.jspに追加します:
次に、query.jspフレームワークを完了します。
<%@ページ言語= "java" import = "java.util。*" pageencoding = "utf-8"%> <!doctype html public " - // w3c // dtd html 4.01 transitional // en" 1px; } .searchbox {margin:-3; } </style> <script type = "text/javascript"> $(function(){$( '#dg')。datagrid({// urlアドレスをリクエストプロダクションのqueryjoincignateory.action '、loadmsg:' loading ...... quirerams:空は、すべての製品を表示することを示していますこのフィールドを構成すると、ページの変更はページを回すときに選択されたアイテムに影響しません//ツールバー定義の追加、削除、削除、更新ボタン、検索ボックスツールバー:[{icon-add '、' icon-add '、' add forts '、handler:function(){// trigger code}}}}}}、'、 ' - {iconcls:' iconcls: 'iconcls:' Iconcls: //トリガーコードを追加}}、 ' - '、{iconcls: 'icon-remove'、text: 'delete product'、handler:function(){// trigger code}}、 ' - '、{// queryボタンはリンクボットンではありません。 name = 'ssrach' />> "}]、rowStyler:function(index、row){console.info(" index " + index +"、 " + row)if(index%2 == 0){return 'background-color:#fff;'; } else {return 'background-color:#c4e1e1;'; }}、frozencolumns:[[{field: 'checkbox'、checkbox '、checkbox:true}、{field:' id '、title:' product number '、width:100}]]、列:[{field:' name '、title:' product name '、width:100}、{field:' field '、' price '、witth:'、witth: '、field:'、field '、'、bidth '、説明 '、width:100}、{field:' xremark '、title:' dettary description '、width:100}、{field:' date '、title:' lelease time '、width:100}、{field:' commend '、'推奨製品、幅:100、形式:function:function(value、row、index '=' check '' <'checked' <'' < disabled = 'true' "; } else {return "<input type = 'checkbox' disabled = 'true'"; }}}、{field: 'open'、title: 'valid product'、width:100、formatter:function(value、index){if(value){return "<input type = 'checkbox' checked 'disabled =' true '"; } else {return "<input type = 'checkbox' disabled = 'true'"; }}}、{field: 'category.type'、title: 'product category'、width:200、//category.typeは製品カテゴリ形式です。 //製品カテゴリが空でない場合は、製品カテゴリを返します} else {return "この製品は当面の間分類されていません」; }}}]]]}); //通常のテキストボックスをクエリ検索テキストボックス$( '#ss')に変換します({//トリガークエリイベント検索者:function(value、name){// valueは入力値を表します//トリガーコードの追加}、プロンプト:「検索キーワードを入力してください」); }); </script> </head> <body> <table id = "dg"> </table> </body> </html>次に、ProductactionでQueryJoIncicategoryメソッドを完了します。この前に、サービス部品を完了する必要があります。最下層からゆっくりと開発します。
// Productservice Interface Public Interface Productservice拡張BaseService <Product> {//クエリ製品情報、カスケードカテゴリパブリックリスト<製品> QueryJoIncategory(string type、int page、int size); //製品名を使用したクエリ//キーワードに基づくレコードの総数をパブリックlong getCount(文字列タイプ); } @suppresswarnings( "Unchecked")@service( "Productervice")Public Class ProductserviceImpl extends BaseServiceImpl <Product> Productservice {@Override Public List <Product> QueryJoIncategory(String Name、Int Page、Int Size){String HQL = " return getSession()。create query(hql).setString( "name"、 "%" + name + "%").setfirstreSult((page-1) * size)// show .setmaxResults(size)// show umout .list(); } @Override public long getCount(string name){string hql = "count(p)from product p from p.name like:name"; return(long) //レコードを返す:レコードの総数}}製品のqueryjoincategoryメソッドを完了できます。
@Controller( "Productaction")@Scope( "Prototype")Public Class Productaction Extends BaseAction <Product> {public String QueryJoIncategory(){system.out.println( "name:" + model.getName()); System.out.println( "page:" + page); System.out.println( "rows:" + rows); // Paged Data PageMap = new Hashmap <String、object>(); //キーワードとページングパラメーターに従って対応するデータをクエリlist <croduct> productlist = productservice.queryjoincategory(model.getName()、page、rows); pagemap.put( "rows"、productlist); // json形式のストレージ//キーワードに基づくレコードの総数をクエリ長= corthervice.getCount(model.getName()); // JSON形式のストレージ「jsonmap」を返します。 }}次に、struts.xmlで構成し、以前の製品カテゴリと同じプロセスを設定します。ここから、あなたはそれを開発した後、次のものがまもなくなることがわかります。
<アクションname = "product_*" method = "{1}"> <result name = "jsonmap" type = "json"> <param name = "root"> pagemap </param> <param name = "exprodeproperties"> <! - rows [0] .category.account-> <!この部分の次のスクリーンショット - > </param> </result> </action>このようにして、バックグラウンドプログラムが作成され、Tomcatを開いてテストします。左側のメニューバーの製品管理をクリックすると、右側の次のウィンドウがポップアップ表示されます。
このようにして、製品管理ウィンドウのフレームワークを完了しました。
元のアドレス:http://blog.csdn.net/eson_15/article/details/51354932
上記はこの記事のすべての内容です。みんなの学習に役立つことを願っています。誰もがwulin.comをもっとサポートすることを願っています。