前回まででEntityの作成まで終わったので、Webアプリケーションとして動作させるためのメモです。
以前のエントリはこちら
Spring Roo Install
[Spring Roo]プロジェクト作成, Logging&DB接続設定
[Spring Roo]Entity作成
・roo shell上でwebコマンドを実行することで、Webアプリケーションとして動作するために必要なファイルが生成されます。
1 roo> web mvc setup 2 Created SRC_MAIN_WEBAPP\WEB-INF\spring 3 Created SRC_MAIN_W EBAPP\WEB-INF\spring\webmvc-conf ig.xml 4 Created SRC_MAIN_W EBAPP\WEB-INF\web.xml 5 Updated SRC_MAIN_W EBAPP\WEB-INF\spring\webmvc-conf ig.xml 6 Created SRC_MAIN_W EBAPP\images 7 Created SRC_MAIN_W EBAPP\images\create.png 8 Created SRC_MAIN_W EBAPP\images\list.png 9 Created SRC_MAIN_W EBAPP\images\resultset_p revious.pn g 10 Created SRC_MAIN_W EBAPP\images\resultset_n ext.png 11 Created SRC_MAIN_W EBAPP\images\show.png 12 Created SRC_MAIN_W EBAPP\images\favicon.ico 13 Created SRC_MAIN_W EBAPP\images\delete.png 14 Created SRC_MAIN_W EBAPP\images\resultset_f irst.png 15 Created SRC_MAIN_W EBAPP\images\springsourc e-logo.png 16 Created SRC_MAIN_W EBAPP\images\resultset_l ast.png 17 Created SRC_MAIN_W EBAPP\images\add.png 18 Created SRC_MAIN_W EBAPP\images\banner-grap hic.png 19 Created SRC_MAIN_W EBAPP\images\update.png 20 Created SRC_MAIN_W EBAPP\styles 21 Created SRC_MAIN_W EBAPP\styles\alt.css 22 Created SRC_MAIN_W EBAPP\styles\standard.cs s 23 Created SRC_MAIN_W EBAPP\WEB-INF\classes 24 Created SRC_MAIN_W EBAPP\WEB-INF\classes\standard.pr operties 25 Created SRC_MAIN_W EBAPP\WEB-INF\classes\alt.propert ies 26 Created SRC_MAIN_W EBAPP\WEB-INF\layouts 27 Created SRC_MAIN_W EBAPP\WEB-INF\layouts\default.jsp x 28 Created SRC_MAIN_W EBAPP\WEB-INF\layouts\layouts.xml 29 Created SRC_MAIN_W EBAPP\WEB-INF\views 30 Created SRC_MAIN_W EBAPP\WEB-INF\views\header.jspx 31 Created SRC_MAIN_W EBAPP\WEB-INF\views\footer.jspx 32 Created SRC_MAIN_W EBAPP\WEB-INF\views\views.xml 33 Created SRC_MAIN_W EBAPP\WEB-INF\views\index.jspx 34 Created SRC_MAIN_W EBAPP\WEB-INF\views\index-templ ate.jspx 35 Created SRC_MAIN_W EBAPP\WEB-INF\views\uncaughtExc eption.jsp x 36 Created SRC_MAIN_W EBAPP\WEB-INF\views\resourceNot Found.jspx 37 Created SRC_MAIN_W EBAPP\WEB-INF\views\dataAccessF ailure.jsp x 38 Created SRC_MAIN_W EBAPP\WEB-INF\tags\form 39 Created SRC_MAIN_W EBAPP\WEB-INF\tags\form\update.tagx 40 Created SRC_MAIN_W EBAPP\WEB-INF\tags\form\create.tagx 41 Created SRC_MAIN_W EBAPP\WEB-INF\tags\form\dependency. tagx 42 Created SRC_MAIN_W EBAPP\WEB-INF\tags\form\show.tagx 43 Created SRC_MAIN_W EBAPP\WEB-INF\tags\form\list.tagx 44 Created SRC_MAIN_W EBAPP\WEB-INF\tags\form\find.tagx 45 Created SRC_MAIN_W EBAPP\WEB-INF\tags\form\fields 46 Created SRC_MAIN_W EBAPP\WEB-INF\tags\form\fields\select.tagx 47 Created SRC_MAIN_W EBAPP\WEB-INF\tags\form\fields\display.tag x 48 Created SRC_MAIN_W EBAPP\WEB-INF\tags\form\fields\column.tagx 49 Created SRC_MAIN_W EBAPP\WEB-INF\tags\form\fields\editor.tagx 50 Created SRC_MAIN_W EBAPP\WEB-INF\tags\form\fields\checkbox.ta gx 51 Created SRC_MAIN_W EBAPP\WEB-INF\tags\form\fields\simple.tagx 52 Created SRC_MAIN_W EBAPP\WEB-INF\tags\form\fields\input.tagx 53 Created SRC_MAIN_W EBAPP\WEB-INF\tags\form\fields\textarea.ta gx 54 Created SRC_MAIN_W EBAPP\WEB-INF\tags\form\fields\datetime.ta gx 55 Created SRC_MAIN_W EBAPP\WEB-INF\tags\form\fields\table.tagx 56 Created SRC_MAIN_W EBAPP\WEB-INF\tags\form\fields\reference.t agx 57 Created SRC_MAIN_W EBAPP\WEB-INF\tags\menu 58 Created SRC_MAIN_W EBAPP\WEB-INF\tags\util 59 Created SRC_MAIN_W EBAPP\WEB-INF\tags\util\pagination. tagx 60 Created SRC_MAIN_W EBAPP\WEB-INF\tags\util\theme.tagx 61 Created SRC_MAIN_W EBAPP\WEB-INF\tags\util\placeholder .tagx 62 Created SRC_MAIN_W EBAPP\WEB-INF\tags\util\panel.tagx 63 Created SRC_MAIN_W EBAPP\WEB-INF\tags\util\language.ta gx 64 Created SRC_MAIN_W EBAPP\WEB-INF\tags\util\load-script s.tagx 65 Created SRC_MAIN_W EBAPP\WEB-INF\i18n 66 Created SRC_MAIN_W EBAPP\WEB-INF\i18n\messages.pr operties 67 Created SRC_MAIN_W EBAPP\images\en.png 68 Updated SRC_MAIN_W EBAPP\WEB-INF\i18n\application .propertie s 69 Updated SRC_MAIN_W EBAPP\WEB-INF\web.xml 70 Updated ROOT\pom.xml [added dependenci es org.spring framework: spring-web :${spring.ver sion}, org.spring framework: spring-we 71 bmvc:${spring.ver sion}, org.spring framework. webflow:sp ring-js-re sources:2. 2.1.RELEAS E, commons-di gester:com mons-diges ter 72 :2.0, commons-fi leupload:c ommons-fil eupload:1. 2.1, javax.serv let.jsp.js tl:jstl-ap i:1.2, org.glassf ish.web:js tl-impl:1. 2, 73 javax.el:e l-api:1.0, joda-time:joda-time:1.6, javax.serv let.jsp:js p-api:2.1, commons-co dec:common s-codec:1. 4; updated p 74 roject type to war; added dependenci es org.apache .tiles:til es-core:2. 2.1, org.apache .tiles:til es-jsp:2.2 .1] 75 Updated SRC_MAIN_W EBAPP\WEB-INF\views\footer.jspx
Webアプリケーションに必要なweb.xmlなどのファイルが生成されました。
また、Rooで作成されるのはSpringMVCアプリケーションですので、webmvc-con
fig.xmlなどのSpringMVCのファイルも生成されます。 さらにデフォルトの画面を表示するためのファイルも生成されています。Rooで生成されるSpringMVCアプリケーションでは画面表示にtilesとjspxを使用しているため、デフォルト画面や共通のヘッダ、フッタ用のjspxファイルやtagxファイルが生成されました。CSSや画像ファイルも生成されます。
次に各EntityのController
を作成していきます。Project EntityのController を作成するには下記のようにcontroller scaffoldコマンドを実行します。
1 roo> controllerscaffold --class ~.web.Proje ctControll er --entity ~.model.Pro ject 2 Created SRC_MAIN_J AVA\com\example\web 3 Created SRC_MAIN_J AVA\com\example\web\ProjectCont roller.jav a 4 Updated SRC_MAIN_W EBAPP\WEB-INF\spring\webmvc-conf ig.xml 5 Created SRC_MAIN_J AVA\com\example\web\Application Conversion ServiceFac toryBean.j ava 6 Created SRC_MAIN_W EBAPP\WEB-INF\views\projects 7 Created SRC_MAIN_W EBAPP\WEB-INF\views\projects\views.xml 8 Updated SRC_MAIN_W EBAPP\WEB-INF\views\projects\views.xml 9 Created SRC_MAIN_W EBAPP\WEB-INF\views\menu.jspx 10 Created SRC_MAIN_W EBAPP\WEB-INF\tags\menu\menu.tagx 11 Created SRC_MAIN_W EBAPP\WEB-INF\tags\menu\item.tagx 12 Created SRC_MAIN_W EBAPP\WEB-INF\tags\menu\category.ta gx 13 Updated SRC_MAIN_W EBAPP\WEB-INF\views\menu.jspx 14 Updated SRC_MAIN_W EBAPP\WEB-INF\views\projects\views.xml 15 Updated SRC_MAIN_W EBAPP\WEB-INF\views\menu.jspx 16 Updated SRC_MAIN_W EBAPP\WEB-INF\i18n\application .propertie s 17 Created SRC_MAIN_J AVA\com\example\web\ProjectCont roller_Roo _Controlle r.aj 18 Created SRC_MAIN_W EBAPP\WEB-INF\views\projects\list.jspx 19 Created SRC_MAIN_W EBAPP\WEB-INF\views\projects\show.jspx 20 Created SRC_MAIN_W EBAPP\WEB-INF\views\projects\create.jspx 21 Created SRC_MAIN_W EBAPP\WEB-INF\views\projects\update.jspx 22 Created SRC_MAIN_J AVA\com\exampler\web\Application Conversion ServiceFac toryBean_R oo_Convers ionService .aj
--classオプションでController
クラス名を指定し、--entityオプションで対象になるEntityを指定します。上記の例ではProjectCon trollerという名前のController クラスが作成されました。また、Project Entityに対するCRUD画面表示用のjspxファイルや、tilesの設定ファイルも生成されています。 これだけでProject Entityに対する一覧表示、詳細表示、作成、更新、削除の画面・機能が一通り提供されてしまいます。
同様に各Entityに対してController
を生成します。 これでWebアプリケーションとして動作するようになりましたので、コマンドプロンプトからmvnコマンドを実行してアプリケーションを起動します。(roo shellではなくコマンドプロンプトです。)
1 >mvn jetty:run
- Webブラウザから下記のURLでアクセスすることが出来ます。
1 http://localhost:808 0/example
- 画面左側のメニューから各Entityの操作が可能になっています。