人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

あるJSPページ内で定義したpublicのメソッドを、他のJSPページから呼び出すことはできるのでしょうか。
通常のjavaなら同じパッケージのpublicのメソッドを、オブジェクト.メソッド()で、呼び出すように、メソッドを使用するには「オブジェクト」にあたる部分が必要ですよね。
JSPの場合、呼ばれるメソッドがメンバとなっている、そのクラスやオブジェクトは一体どうやってあらわされるのでしょうか。

●質問者: kyoko55
●カテゴリ:コンピュータ ウェブ制作
✍キーワード:Java JSP オブジェクト クラス パッケージ
○ 状態 :終了
└ 回答数 : 3/3件

▽最新の回答へ

1 ● aside
●28ポイント

インクルードでファイルを分けてくしかないような、、

testJsp.jsp

<%@ page contentType="text/html;charset=Shift_JIS" %>
<html>
<head>
<title>テスト</title>
</head>
<body>
<%!
public int getTotal(int num){
 int sum = 0;
 for (int i = 1 ; i <= num ; i++){
 sum += i;
 }
 return sum;
}
%>
</body>
</html>

testJsp2.jsp

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
<HTML>
<HEAD>
<META http-equiv="Content-Type" content="text/html; charset=Shift_JIS">
<TITLE>JAVA Server Page(JSP) Test</TITLE>
</HEAD>
<BODY>
<%@ include file="testJsp.jsp"%> 
<%
 out.println(getTotal(10));
%>
</BODY>
</HTML>
◎質問者からの返答

ありがとうございます。

うまく動作しました。

includeを使えば解決するんですね。勉強になります。


2 ● lunlumo
●28ポイント

JSPは最終的にJavaのバイナリにコンパイルされるので,プラットフォーム決め打ちであれば出来なくはないでしょう。ただ,お世辞にも褒められた方法ではないので,asideさんの紹介されているincludeを使うか,外部クラスを起こしてimportした方が良いでしょう。

http://journal.mycom.co.jp/column/java/069/index.html

http://journal.mycom.co.jp/column/java/070/index.html

◎質問者からの返答

ありがとうございます。

> お世辞にも褒められた方法ではない

> includeを使うか,外部クラスを起こしてimport

なるほど、jspページのメソッドを外部から使うのは常套手段ではないのですね。勉強になります。


3 ● winwood
●28ポイント

jspの中にpublicのメソッドを書くのではなく、bean化して呼び出すのではだめですか?

Java 入門 | Servlet/JSP/Java Bean | JavaBeans

JSP samples

◎質問者からの返答

ありがとうございます。

bean化すると、今回の目的が果たせるのですね。

java beansは勉強できていないので、今後習得していきたいと思います。

みなさん、ありがとうございました。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ