「JSP→JavaのActionを起動したい!」に関して教えてもらった内容

こんにちは!久々の投稿です。

 

Javaに関して教えてもらった内容を

一部業務部分は隠しますが、メモ代わりに投稿します。

スポンサードリンク

質問内容

新しくスタブを作ったので、

既存画面(JSP)にボタンを追加して呼び出しをしたい。

しかし、JSP→Javaの連携がよくわかっていないので、教えてほしい

 

という内容です。本当に初歩です・・・

 

スポンサードリンク

回答

まず前提として
本システムではstrutsという仕組みを使っていたはずです。
(ザックリ言うと、MVCモデルで、xmlの設定が多数あるという感じのものです。
jspからどのjavaソースを呼び出すのかなどもxmlの設定で行うイメージです。)

 

やりたい事としては
①画面にボタンを配置
②ボタン押下時に追加したメソッドを呼び出す

という事で理解致しました。
※②の後にどうするのかは不明。

 

①については
該当のjsp上にボタンの記載を追加するだけだと思います。
ログインのソース(login.jsp)を例にとると
ログインボタンは以下のような記載になります。

(submitで画面刷新されることになります)
<s:submit value=”ログイン” style=”width:80px;” tabindex=”3″/>

 

また②については
ログインボタン押下時のsubmitでjspの以下の記載が読み込まれることになるかと思います。
<s:form id=”form1″ name=”form1″ action=”testlogin” method=”post” onSubmit=”form1.submit();allBtnLinkDisabled(); return false;”>
ここで重要なのは「action」という箇所の記載になります。
「action」での記載が「struts.xml」(\resources\配下)というファイルで合致する箇所があり、
ログインの例だと以下のような感じになります。
<action name=”testlogin” class=”loginFunc”>
<param name=”pageId”>0900F00</param>
<result name=”success”>login.jsp</result>
<result name=”duplication”>login.jsp</result>
<result name=”loginerror”>login.jsp</result>
</action>
次に重要なのが「class」という箇所の記載です。
「class」での記載が「Common.xml」(\WebContent\WEB-INF\配下)

というファイルで合致する箇所があり、
ログインの例だと以下のような感じになります。
<bean id=”loginFunc” class=”LoginAction” singleton=”false”>

ここまで来ると、「class」で記載のjavaソースが呼びだされることになります。
よって、この「class」の箇所に追加したソースの記載をすればよいのではないかと思います。

 

以上、①②についてまとめますと、
以下あたりの対応が必要になるのではないかと思われます。
○jspにボタン記載を追加
○struts.xmlに該当actionの記述を追加(既存の処理に載せるのであれば追加不要かもです)
○Common.xmlに呼び出すクラスの記述を追加(既存の処理に載せるのであれば追加不要かもです)

ちなみに②の後の遷移先は
「struts.xml」で「success」に該当するjspを記載すればよかったかと思います。
(自画面に戻すなら自画面のjspで良かったのではないかと思います。)
<result name=”success”>※呼び出すjspソース</result>

 

スポンサードリンク

 

参考になれば幸いです^^

コメントを残す

サブコンテンツ

このページの先頭へ