あるJSPページ内で定義したpublicのメソッドを、他のJSPページから呼び出すことはできるのでしょうか。

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

回答の条件
  • 1人5回まで
  • 登録:
  • 終了:2007/07/28 17:37:37
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

回答3件)

id:aside No.1

回答回数339ベストアンサー獲得回数31

ポイント28pt

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

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>
id:kyoko55

ありがとうございます。

うまく動作しました。

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

2007/07/28 17:26:05
id:lunlumo No.2

回答回数107ベストアンサー獲得回数14

ポイント28pt

 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

id:kyoko55

ありがとうございます。

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

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

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

2007/07/28 17:33:28
id:winwood No.3

回答回数11ベストアンサー獲得回数0

ポイント28pt

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

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

JSP samples

id:kyoko55

ありがとうございます。

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

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

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

2007/07/28 17:36:02

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません