Java Studio Creator Fun (Creator's Studio) -

「FAQ」の編集履歴(バックアップ)一覧はこちら

FAQ」の最新版変更点

追加された行はこの色になります。

削除された行はこの色になります。

 &ref(JSCicon.jpg,トップページ)&font(20){FAQ}
 
 #contents
 
 * 画面開発(Java Studio Creator)
 **Creatorで開発した部分のエラーはどこに出力されますか? 
 配備サーバのログに出力されます。詳細は、「配備サーバーのログファイルの場所は?」を参照してください。
 **ManagedBeanでSystem.out.println()した文字列はどこに出力されますか?
 配備サーバのログに出力されます。詳細は、「配備サーバーのログファイルの場所は?」を参照してください。
 
 **XXコンポーネントの使用方法が分からない。
 分からないコンポーネントを配置し、選択状態にすると、ダイナミックヘルプビューにヘルプが表示されます。有用な情報が取得できますのでぜひ活用してください。
 
 **Creatorがメモリリークしているみたいなのですが。
 現状のCreator(2004Q2 Update7)では、そのような傾向があります。メニューバーを右クリックして表示する「メモリー」をクリックすることで、強制的にガベージコレクトを実行できますので、定期的にガベージコレクトしてください。
 →Update8でかなり改善された気がします(体感的に)
 
 
 **開発をすすめていくとマシンの負荷が大きくて開発効率が悪い。
 Java Studio Creatorでの画面開発は、プロジェクトに含まれる画面数が増える事で、開発マシンのリソース(主にメモリ)が必要となります。開発マシンのメモリ次第では開発に十分でない場合があります。
 
 回避方法としては、配備サーバーを別マシンで動作させることで開発マシンのリソースをあけることができます。
 
 手順は下記です。
 ① 配備サーバーを別マシンに導入し「リモート配備サーバ」に登録する。
 ② 画面の実行時は、「構築」「リモートサーバに配備」を行うことで、実行可能です。
 
 また、配備サーバーに配備されているWebアプリケーションで不要なもの(デモ、サンプル)を削除することで、配備サーバーの起動が格段に早くなります。
 詳細は「配備サーバーの起動を高速化することができますか?」を参照してください。
 
 
 ** ドロップダウンリストのValueおよびTextを設定する。(チェックボックスリストやラジオボタンリストも同様)
 
 ドロップダウンリストにValueおよびTextを設定したい場合は、ManagedBeanのコンストラクタ等で以下の処理を実装します。
 
  // ドロップダウンの項目を生成する
  ArrayList list = new ArrayList();
  list.add( new SelectItem("0", "--選択してください。--") );
  list.add( new SelectItem("1", "項目1") );
  list.add( new SelectItem("2", "項目2") );
  list.add( new SelectItem("3", "項目3") );
  
  // ドロップダウンリストにバインドする
  dropdown1SelectItems.setValue(list);
 
 
 ** ドロップダウンリストの選択状態を指定する。(初期設定など)
 
 選択項目を指定したい場合は、ManagedBeanのコンストラクタで以下の処理を実装します。
 
  dropdown1.setSubmittedValue("XXX");
  または、
  dropdown1.setValue("XXX");
 
 ※チェックボックスリストやラジオボタンリストも同様。
 
 チェックボックスリストを複数選択する場合は、以下の処理を実装する。
 
  checkboxList1.setSelectedValues(new String[]{"1","2"});
 
 **ページフラグメント内で文字化けする。
 現状のページフラグメント(.jspf)では、日本語を含むマルチバイトの文字をコンポーネントのvalueで設定すると文字化けが発生します。
 回避策はありませんが、valueをManagedBeanのコンストラクタで設定するか、プロパティバインドを利用することで、ページフラグメント内に日本語を表示することができます。
 
 **ビジュアルデザイン時は綺麗にそろっているコンポーネントが、ブラウザ表示を行うとずれてしまう。
 通常コンポーネントの配置は、スタイルシートの絶対位置座標で扱われるため、ブラウザで表示した際は各コンポーネントの左上のポイントが揃うように配置されてしまいます。
 回避策としては、標準コンポーネントのグリッドパネル内に各コンポーネントを配備することで各コンポーネントの整列が可能となります。並び数の設定はcolumnsプロパティです。
 
 **スタイルシート(CSS)を利用する。
 プロジェクト内の「リソース」にstylesheet.cssがあり、これがデフォルトで利用されます。編集することで独自のスタイルクラスを定義することができます。
 個々のコンポーネントでスタイルクラスを利用する場合には、プロパティエディタの"StyleClass"より指定します。
 
 **ボタンコンポーネント内の文字列を縦書きにしたい。
 スタイルシートの「writing-mode」により指定可能です(IE5.5以降のみ)
 
 **出力テキスト内の上下表示位置を制御したい。
 スタイルシートの「text-align」により指定可能です。「vertical-align」はHTMLの<span>内となるため無効になってしまいます。
 
 **XXというコンポーネントはありますか?
 Java Studio Creatorに付属する標準コンポーネントを確認してください。その中に求めるコンポーネントが無く、どうしても開発が必要な場合は、コンホーネンとの仕様にあわせて独自開発することが可能です。
 参考URL: http://developers.sun.com/prodtech/javatools/jscreator/reference/themes/buildingjsf/index.html
 
 
 **JPG画像をページ上に貼り付けたが、画像が表示されない。
 JSC上の画像ファイルの取扱には、以下の制約があります。
 ・ファイル名を半角文字列とする(全角の場合実行時に表示されない問題がある)
 ・ビジュアルデザイン上での.bmpファイル使用不可(実行時には表示される)
 
 **既存のJSP/HTMLファイルをプロジェクトに追加できますか?
 既存のJSP/HTMLページをインポートするには、以下の手順が必要です。
 ・ファイルのインポート(JSCの「既存項目を追加」を利用)
 また、JSPのインポート時は、下記の編集が必要です。
 ・タグの編集(ビジュアルエディタのエラーを参考にし数々の変更を実施する)
 例)<INPUT type="text" name="text1"> → <input type="text"name="text1"/>
 ・DOCTYPEを追加する(上記編集でXML形式となるため)
 ・Gkitなどのカスタムタグは個別に定義が必要となります。
 
 タグの編集は慣れればある程度機械的に処理可能ですが、それなりの時間は必要です。
 できればUIはJSC自体で行っていただくのがベストです。
 
 **バリデータやコンバーター、必須チェックが設定された画面にて、ボタンで画面遷移をする際にチェックをしたくない。(「戻る」「メニュー」など) 
 プロパティ"immediate"をtrueにしてください。
 
 **フレーム(<FRAMESET>)を利用した画面開発を行いたい。
 Creatorでの開発は、フレームの利用は推奨できません。2ペイン、3ペイン構成を実現したい場合には、ページフラグメントを利用してください。特に、メニューを表示するフレームとして固定的に利用したい場合などに有効です。
 
 **DateTimeコンバーターで日付を変換表示すると1日ずれる?
 timeZoneプロパティに"Japan"を指定しないと、表示した時刻次第で1日ずれる事があります。(GMT基準で日付を判断するから)
 
 **メッセージリストにメッセージを出力する方法を教えてください。
 ManagedBeanにて、info(String s)/warn(String s)/error(String s)/fatal(String s)のメソッドにて出力できます。出力文字のスタイルは、stylesheet.cssで指定されていて、編集も可能です。
 
 **メッセージリストにメッセージが重なって出力されてしまいます。
 個々のコンポーネントのメッセージは、インラインメッセージを利用してください。メッセージリストの"globalonly"プロパティをtrueに設定することで、個々のコンポーネントのメッセージが表示されなくなります。それでも重なる場合は、メッセージリストの背景色をブラウザの背景色(通常は白)にすることで、最新のメッセージのみ表示されるようになります。
 
 **ボタンなどによるページナビゲーションで画面遷移をする場合のターゲットを指定したい。(新規ウィンドウに表示したいなど)
 「アプリケーション構造」ビューから、Form要素を選択し、プロパティエディタより"target"プロパティを設定してください。新規ウィンドウ表示であれば、"_blank"です。
 
 **ドロップダウンリストやラジオボタンリストなどで「変更時に自動送信」を設定しても正しくイベントが発生しない。(ブラウザにIEを使用する場合)
 プロパティエディタで、onChangeに設定されている"this.form1.submit()"を解除して、onClickイベントに同一の内容を定義してください。これは、IEでonChange()イベントが正しく発生しないためです。
 
 ** プロジェクトが大きくなるとCreatorが"OutOfMemory"になって異常終了してしまう。
 C:\Sun\Creator\bin\ide.cfgを変更することで、Creatorの利用メモリを増加させることができます。
  修正前(デフォルト)
  -J-Xms24m -J-Xmx256m
      ↓
  修正例
  -J-Xms24m -J-Xmx512m   ←Maxメモリを512MBにする場合
+
+** 異なるプロジェクトから画面(JSP)をインポートしたい 
+異なるプロジェクトで開発した画面をプロジェクトにマージするには、下記の方法で行います。マージする画面は、UIレベルで処理を持たないものを想定しますが、データソース参照も自動的に反映されます。
+
+1.読込みたいプロジェクト(ターゲット)を開く
+2.「ファイル」「既存項目を追加」「その他」より、JSPページをプロジェクトに追加
+3.同様のメニューより、Javaソースをプロジェクトに追加する。また、イメージファイルやCSSなどJSPから参照しているリソースがあれば同様に読込む
+4.Javaソースのパッケージ名が異なる場合は、「プロジェクトナビゲータ」「Javaソース」で、JavaソースをマウスのD&Dターゲットでプロジェクトのパッケージへ移動することで、パッケージ名が変更される
+5.以上でページデザイナで画面が確認できるはず
 
 
 
 * 配備サーバー(Sun JavaSystem Application Server) 
 
 **配備して実行すると、PageNotFound(404)になる。
 配備を繰り返すことで発生する配備サーバのバグのようです。ログファイルに"Out of Memory"が記録されます。この場合は、配備サーバの再起動を行ってください。
 
 **配備サーバーのログファイルの場所は? 
 C:\Sun\Creator\SunAppServer8\domains\creator\logsのserver.logがログファイルです。
 
 **配備サーバーの管理画面にはどうやって接続できますか。
 http://localhost:14848/ に接続します。
 デフォルトのユーザ名は"admin"で、パスワードは"adminadmin"です。
 
 ** Application Server 8.0 PEが大量のエラーログを出力し起動できない。
 
 次の回避策を実施してください。
 
 1.配備サーバを停止します。
 停止後に、配備サーバーのプロセスが残っていないことを確認してください。
 
 2.Creator_install_dir/SunAppServer8/domains/creator/logs/*.log ファイルを削除します。
 
 3.Creator_install_dir/SunAppServer8/domains/creator/config/domain.xml ファイルを編集します。
 --<log-service> 要素を見つけます。
 --log-rotation-limit-in-bytes 属性を 100000000000 (100 G バイト) に変更します。
 --<log-service> 要素内に <module-log-levels> 要素を指定します。すべての属性の値を「INFO」から「OFF」に変更します。「OFF」の代わりに、「WARNING」または「SEVERE」に変更してレベルだけを低くすることもできます。
 
 4.配備サーバーを再起動します。 
 
 ※この問題は、近い将来リリースされる Java Studio Creator2 に付属の Application Server 8.1 PE で修正されています。
 
 参照:[[Sun Java Studio Creator FAQ:http://sdc.sun.co.jp/javatools/jscreator/reference/faqs/technical/depsrvs/private/appserver8pe.html]]
 
 ** プロジェクトの配備中にエラーとなり、その後配備サーバが起動できなくなる。
 次の回避策を実施してください。
 
 1.「プロジェクトの生成物を削除」を利用して配備されているプロジェクトを削除します。
 
 2.配備サーバが起動中の場合は、サーバナビゲータより配備サーバを停止します。
 
 3.Widnowsタスクマネージャを利用して不明なjavaプロセスが起動していないことを確認します。(このとき実行中のjavaプロセスがあれば停止します。)
 
 4.プロジェクトの再配備を実行します。
 
 **配備サーバーの起動を高速化することができますか?
 不要なWebアプリケーションの配備を削除することで、起動が高速になります。
 Webアプリケーションの削除は、下記の方法で可能です。
 1. 配備サーバーの管理ページ(http://localhost:14848/)にログイン
 2. Applications->WebApplicationsを開く
 3. 削除するWebアプリケーションを選択(チェック)しUnDeploy
 ※ あらかじめサンプルが配備されていますが、削除しても問題ありません