締切済み

JSP内で関数定義 EJB変数の参照

  • 困ってます
  • 質問No.299822
  • 閲覧数782
  • ありがとう数2
  • 気になる数0
  • 回答数1
  • コメント数0

いつもお世話になっています。

JSPの中に
<%! ~ %>
を使って、関数(function)を作ったのですが、それに、同JSPページ内で宣言したEJBがあるのですが、そのオブジェクトをfunction内で使おうとすると、宣言されていませんエラーが出てしまいます。JSPが内部でどのようなJavaとしてコンパイルされるかよく分からないのですが、

パラメータとして渡す以外に、functionの中でJSP内で宣言した、EJBを使うことは出来るのでしょうか。

ご存じの方が居ましたらよろしくお願いします。

記述例(こんな感じで使いたいです)

<jsp:useBean id="testBean"
     class="xxx.xxx.testBean"
     scope="page">
     <jsp:setProperty name="testBean"
          property="testProperty"
          value="test" />
</jsp:useBean>
<%!
private String testFunction(boolean booleanExpression) {
     return(booleanExpression ? testBean.value() : " ");
}
%>
通報する
  • 回答数1
  • 気になる
    質問をブックマークします。
    マイページでまとめて確認できます。

回答 (全1件)

  • 回答No.1

ベストアンサー率 35% (33/92)

EJB のソースも載せないと、何が悪いのかが分かりづらいかとおもいますが?
補足コメント
noname#2494

遅れてすみませんでした。

あのEJB側は、他人が作った物で、かってに載せるわけには行かないので、自分で作ってみました。

スコープの関係だと思い、仕様上出来ないのか、それとも代替策があるのかと思い、コードを載せなくても大丈夫だと思っていました。すみませんでした。

中身を見てみると、反対側はEJBを継承していない様なので、それと同じような感じで作ってみました。

JSP側

<html>
<body>
<jsp:useBean id="zzzz"
class="xxx.yyy.ui.zzzz"
scope="page">
</jsp:useBean>
<%!
void showMessage() {
out.println("---" + HiroTest.show());
}
%>
<%= HiroTest.show() %><br>
---<br>
<% showMessge(); %>
</body>
</html>

Java側
package xxx.yyy.ui;

import java.util.*;
import java.io.*;
import java.util.Vector;
import java.beans.*;

public class zzzz{
public String show() {
return("hello");
}
}

このようにすると、後ろの直接
<%= HiroTest.show() %><br>
としたところに関しては正常にhelloが表示されますが、
<% showMessge(); %>
関数を呼び出すと、シンボルが解析出来ませんエラーが発生してしまいます。

このzzzzオブジェクトを関数の中で呼び出すことが出来る物なのでしょうか。
投稿日時 - 2002-07-31 12:22:32
OKWAVE 20th Be MORE ありがとうをカタチに
このQ&Aのテーマ
このQ&Aで解決しましたか?
AIエージェント「あい」

こんにちは。AIエージェントの「あい」です。
あなたの悩みに、OKWAVE 3,500万件のQ&Aを分析して最適な回答をご提案します。

関連するQ&A
こんな書き方もあるよ!この情報は知ってる?あなたの知識を教えて!
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する

特集


より良い社会へ。感謝経済プロジェクト始動

ピックアップ

ページ先頭へ