Category Archives: Java

Eclipse日本語化-Babel Update SiteのURLが・・・。

URLが違うのでした。
こことかこことか参考に日本語化を試みていたのですが、正しくURLを入力しても、「Not Found」とかeclipseに言われたり。

初心に戻って、本家を確認してみたところ・・・
» Eclipse Babel Project Downloads

UpdateSiteのURLは
http://download.eclipse.org/technology/babel/update-site/R0.8.0/galileo
となっていました。
"R0.8.0"ってのが抜けてましたよ。ぬぬ。

今はこれが正しいってことですね。
それにしても、いつまでPendingなんでしょうかね・・・。

StrutsIDE2.0.7いれたけど、struts-config.xmlが開けないので2.0.6に戻しました。

タイトルで言い切れた!

仕事での話しですが、StrutsIDEのバージョンを最新にしたらStruts-Config.xmlが開けなくなって、困った困ったになってしまったので仕方なく前のバージョンに戻したのでした。

StrutsIDEって何かは割愛しますが、UMLモデリングツールのように、実体間の関係をグラフィカルに表現できるのですが、そのグラフィカルに表現するための別コンポーネントとの関係がだめだったみたいでした、エラーによると。

ちゃんとアマテラスのサイトを読みながら最新のHtmlEditorとか入れたのですが、むむむな感じ。

StrutsによるWebアプリケーションスーパーサンプル 第3版 StrutsによるWebアプリケーションスーパーサンプル 第3版
高安 厚思 西川 麗

ソフトバンククリエイティブ 2010-10-13
売り上げランキング : 55459

Amazonで詳しく見る by G-Tools

OracleDataSourceのstruts-config.xml設定がうまくいかない理由

僕は外注なのですが、今日は客先の新人さんに仕事を割り振って先輩役。客先のWEBシステムのちょっとしたカスタマイズでのこと。

ここを参考にOracleドライバーの変更を新人さんにお願いしました。
» 門外不出のOracle現場ワザ 第5章 DBアクセスの空白地帯 コネクションプーリングを極める

掲載されているソースをそのまま適用でOKだと思っていたのですが・・・・。

実装の段階で、
setConnectionCachePropertiesがでてきません!!」とのこと。

ということで調査。
するとjdbcクラスのバージョンが1.2。
なので1.4にするように修正。

実装がうまくいったようで、疎通してみたら例外で落ちちゃう。
おかしいなぁと何度も上のサイトをよくよくみたんだけど、どうも間違いがあるようではないらし・・・。
むむむとstruts-configをみたり、ojdbc14.jarの中身を見たりしているうちにここがおかしいことに気がつきました。

サイトだと「user→User」に書き換えろって書いてあるけど、ojdbc14.japの中の変数名は"user"でした。なので小文字に戻して実行するとOK。
どうやらここの名称不一致がだめだったみたいです。

解決してよかった。

やさしいJava 第3版 (やさしいシリーズ) やさしいJava 第3版 (やさしいシリーズ)
高橋 麻奈

ソフトバンククリエイティブ 2005-09-01
売り上げランキング : 94786

Amazonで詳しく見る by G-Tools

【Struts】Javascriptでサブ画面をAction経由で起動する方法


おそらく知っていればなんてことはない話なのでしょうが...。

業務システムなどで項目の検索画面って結構必要になります。アイコンクリックで子画面がでて、子画面で選択した内容を親画面の項目にセットするみたいな。こんなシステムを今作ってたりします。
その子画面をJavaScriptで表示するとき、"window.open()"か"window.showModalDialog()"を使うと思いますが、その時にStrutsフレームワークの流れにそってActionを経由し、画面を表示する場合のやり方です。

  • ブラウザはIE7
  • Java Strutsフレームワーク使用

window.open()の場合

//空でwindowをopen
var subwin = window.open('', 'windowname'); //第三引数は省略
subwin.focus();
//起動したいActionをXXX.doで記述
form.action='hogehoge.do';
//Action後の遷移する画面を表示するwindow名を上でopenしたwindow名にする
form.target='windowname';
//サブミット
form.submit();

formのサブミットターゲットにサブ画面を指定することでアクション後の遷移先画面を表示することができます。親画面のonfocusイベントで子画面の存在チェックをして、!=NULLならclose();とか。逆に!=NULLなら子画面にfocusするようにすればモーダルを擬似的に表現することができますが、画面が結構ちらつきます。

window.showModalDialog()の場合

var subwin = window.showModalDialog('hoge.do', window); //第三引数は省略

» JAVA: strutsでpopup( showModalDialog )

モーダルで表示する場合は第一引数にXXX.doを指定します。第二引数には親であるwindowオブジェクトを渡すことで、サブ画面から親画面のエレメントにアクセスすることができます。
また"hoge.do"では実際は動かず、

"<%= request.getContext(); %>/hoge.do"

のように指定しないと実行時に404になりました。

セッションがおかしいのはIEのせい?

現在手伝っているシステムはActionクラスの先頭でセッションチェックをして、タイムアウトであればログイン画面に遷移する処理をいれているのですが、このような場合、showModalDialogだとログイン画面に遷移し再度ログインして再びサブ画面を表示しようとしたときに、そのサブ画面だけ別のセッションで動いているという、なんだかよくわからない動きになっていました。
なので、再度ログインしているのに、サブ画面を表示しようとすると別のセッションなもんだから、ログイン情報がないよとセッションチェックにはじかれてしまう...。
showModalを使ったときのセッション問題はIE独自のものだそうです。というかshowModal自体もIE限定(現在はFirefoxもサポート?)ですかね。

この問題については、こちらが参考になるかと。
» 問題だらけのshowModalDialog

ということで、Strutsがらみの話でしたが、ASPでも参考になるみたい...。