フォーラム forum
homechevron_rightフォーラム

GroupSessionについての自由な情報交換の場としてご利用ください

GroupSessionフォーラム:投稿一覧

 
フォーラム:03_プラグイン開発フォーラム
データベースに接続する方法
[ 5003 ] データベースに接続する方法

一歩目でHello Worldでお世話になった素人です。
次のステップとして、技術情報(5)データベースに接続する方法を実施してみました。
技術情報通りに
1)HelloWorldAction.javaを修正し
2)UsidSelectGrpNameDao.javaを作成しました。
UsidSelectGrpNameDao.javaの保存先が分からず、とりあえずHelloWorldAction.javaと
同じフォルダに保存してみて実行してみました。
3)結果画面上の変化がありません。

画面に変化がないのは、Helloworld.jspに記述がないからかと思い、
技術情報(6)セッション情報を取得する方法 にあるHelloworld.jsp修正を試し、画面が変化することは確認できました。
但し、技術情報(5)と(6)の直接的な関連がつかめず、データベースに接続する感覚がつかめません。
ひな形として、このソースを参考にすればなどあれば助かります。

どなたかご教示頂ければと思います。よろしくお願いします。

投稿者二歩目
最新書き込み2012/07/23 15:27:52
[ 5004 ] Re: データベースに接続する方法

こんばんは。

技術情報のサンプル「(5)データベースに接続する方法 」の例での
グループ情報を Helloworld.jsp に表示したいのであれば、

> 1)HelloWorldAction.javaを修正し
 サンプルのままでは、取得したデータをJSP側で参照するための器が
 用意されていませんので、実際には
  ArrayList<GroupModel> gpList = gpDao.selectGroupNmList(usrSid);
  req.setAttribute("groupList",gpList);   // <--こんな風に記述が必要
  return map.getInputForward();
 とか、になります。
 この「"groupList"」を通してJSPから参照することになります。

> 2)UsidSelectGrpNameDao.javaを作成しました。
> UsidSelectGrpNameDao.javaの保存先が分からず、とりあえずHelloWorldAction.javaと
> 同じフォルダに保存してみて実行してみました。
 サンプルで紹介されているこのソースの実際は、GS本体のJava APIで用意されている
  jp.groupsession.v2.cmn.dao.UsidSelectGrpNameDao
 の抜粋で紹介されているものですので、改めて打ち込みません。
 HelloWorldAction.java で、
  import jp.groupsession.v2.cmn.dao.UsidSelectGrpNameDao;
 の記述があります。

> 3)結果画面上の変化がありません。
> 画面に変化がないのは、Helloworld.jspに記述がないからかと思い、
 Helloworld.jsp に
  <logic:iterate id="groupModel" name="groupList">
   <tr>
    <td colspan=5 align="center">
     <bean:write name="groupModel" property="groupName" />
    </td>
   </tr>
  </logic:iterate>
 のような記述などを追加してください。

 これで、「(5)データベースに接続する方法 」のサンプルで取得している
 グループ一覧は、表示されるかと思います。

ご健闘を祈ります。

投稿者GS導入準備中の人
最新書き込み2012/07/23 18:50:51
[ 5005 ] Re: Re: データベースに接続する方法

”GS導入準備中の人”様

ありがとうございます。うまくできました!感謝でございます。なにやら感動しておりまする。

仕組みがおぼろげに見えてきたような気がします。間違っていたら容赦なく突っ込んでください。
1)"HelloWorldAction.java"は内部処理で"Helloworld.jsp"が外部処理。
2)"HelloWorldAction.java"も他の内部処理を読み込める。
 (今回の場合は、"jp.groupsession.v2.cmn.dao.UsidSelectGrpNameDao"であった。)
3)何か新しいデータベースを読み込む場合は、"UsidSelectGrpNameDao"のように新規で
  作成して、HelloWorldAction.javaで読み込みHelloworld.jspに渡す。
  簡単な記述なら"HelloWorldAction.java"に直に記述するのも可でしょうか。

プログラム作成が不慣れでとりあえず、頂いた構文をそのまま使用しました。
教えて頂いた、Helloworld.jspの最初の
  <logic:iterate id="groupModel" name="groupList">
で、<logic:iterate はプログラムの約束毎でしょうか。
調べてみてなにがしかのタグであることまではわかりましたが、なにやら説明を読んでも理解不能でした。技術情報(6)セッション情報を取得する方法の下記例文(赤文字部)と異なるようで、若干混乱しております。
<% String key = jp.groupsession.v2.cmn.GSConst.SESSION_KEY; %>
<!-- ユーザ名:姓 -->
<bean:write name="<%= key %>" scope="session" property="usisei" />

質問重ねで恐縮ですが、お答え頂ければ幸いです。よろしくお願いします。

投稿者二歩目
最新書き込み2012/07/23 20:02:33
[ 5006 ] Re: Re: Re: データベースに接続する方法

こんにちは。

> 仕組みがおぼろげに見えてきたような気がします。間違っていたら容赦なく突っ込んでください。
> 1)"HelloWorldAction.java"は内部処理で"Helloworld.jsp"が外部処理。
> 2)"HelloWorldAction.java"も他の内部処理を読み込める。
> 3)何か新しいデータベースを読み込む場合は、"UsidSelectGrpNameDao"のように新規で
>   作成して、HelloWorldAction.javaで読み込みHelloworld.jspに渡す。
 GSは、Apache Struts 1.3.* のフレームワークを拡張して構築されていますので、
 基本的なプログラムの動作の流れは、Struts での MVC モデルの動作に準じます。
 なので、今は上記のような理解でもいいかもしれませんが、一度 Struts 1.3.* (1.2.* でも可)の
 教科書本などを読まれることをお勧めします(お勧め本は特には無いです、ご自身が
 理解しやすい本を探されるのがベターだと思いますので)。

> 教えて頂いた、Helloworld.jspの最初の
>   <logic:iterate id="groupModel" name="groupList">
> で、<logic:iterate はプログラムの約束毎でしょうか。
> 調べてみてなにがしかのタグであることまではわかりましたが、なにやら説明を読んでも
> 理解不能でした。技術情報(6)セッション情報を取得する方法の下記例文(赤文字部)と
> 異なるようで、若干混乱しております。
 「<logic:iterate ~>」は、Strutsで提供されている拡張されたタグです。
 "Helloworld.jsp" の先頭のほうで
  <%@ taglib uri="http://struts.apache.org/tags-logic" prefix="logic" %>
 として、定義を読み込んでいます(という理解でよいと思います)。

 「groupList」が「HelloWorldAction.java」で「ArrayList<>」と用意されているので、
 先に私が示した内容の意味的には、他の言語のような表現を借りると、
 <Perlっぽい?>
  for each groupModel in groupList
   puts groupModel.groupName
end
 <Javaっぽい?>
  for ( groupModel : groupList ) {
    System.out.print( puts groupModel.groupName );
  }
 見たいなことをしています。
 また上記の表現で言えば、「 puts 」なり「 System.out.print 」が
 「 <bean:write ~> 」に相当します。

ご健闘祈ります。

投稿者GS導入準備中の人
最新書き込み2012/07/24 10:29:00
[ 5007 ] Re: データベースに接続する方法

”GS導入準備中の人”様

ご丁寧に解説いただきありがとうございました。
何となく入口付近にたどり着いた気がします。

三歩目に行けるよう精進したいと思います。
今回はありがとうございました。

投稿者二歩目
最新書き込み2012/07/24 11:44:33
スレッドURLhttps://groupsession.jp/wbs/bulletin/bbs080.do?bbs010forumSid=3&threadSid=1682
 
メールマガジン登録

vertical_align_top