Javaに関する様々な情報をご紹介します。

Javaに関する様々な情報をご紹介します。
評価

0

PageContextについて

javax.servlet.jsp.PageContextのPageContextを
使用したいのですが、値の設定の仕方が分かりません。

PageContext pageContext = null;
上記のnullの部分に値を入れたいのですが、
どのようにして値を入れれば宜しいのでしょうか?

値はnull以外であれば何でもいいのですが・・・

11

回答

81575

閲覧

11件の回答

評価

0

JavaDocは見ていますか?一番頭に書いてありますが。

評価

0

う〜ん。。。
JavaDocは見たのですが、私の勉強不足のためいまいち分かりませんでした。

もうちょっと考えて見ます。

評価

0

具体的にどう扱えばいいのか、イメージが湧かないというところなのだろうと思いますけど、
http://www.javaroad.jp/servletjsp/sj_jsp11.htm
とか。
JSPとして例が出てますけど、読み替えればいいんじゃないかと。

足りなきゃ"PageContext"でググッてみるとかね。

評価

0

まあさんが別のページで示してくれていますが、JavaDocの該当箇所は一番頭の行の最後、

>暗黙のオブジェクト pageContext は自動的にに追加されます。

です。
…もしかして、JSP以外でPageContextを使いたい、とかなんでしょうか?

評価

0

そうなんです。JSP以外なんです。

いま、JUnitでテストクラスを作成していて、
テスト対象のクラスのコンストラクタの引数に
PageContextを渡す必要がありまして・・・

それで色々調べてるのですが、いまだに解決せずなんです。。。

評価

0

テストについては良く分かりませんので、コメントしませんが。

JavaDocにあるとおり、PageContextはJSPFactory#getPageContext()メソッドで取得します。

JSPFactory.getDefaultFactory().getPageContext(....);

で取得できるでしょう。

評価

0

JSPFactory.getDefaultFactory().getPageContext(...);

を使ってみたんですけど、NullPointerなんです。

上記で渡してるパラメータに問題があるのかもしれません。

評価

0

JSPFactory周りとか見てレスしてないですけど、
本来そこにはサーブレット(J2EE)があって・・のことになったりするんではないでしょうか。

JUnitを使うなら、その辺りを考慮する必要があるのではないだろうか?と思ったりするのですけど。
たぶん、そのままそのクラスをテストしてもクラス単体をテストしようとするようなことになってしまいますよね?

時間があれば見てみたりするかも(?)知れませんが・・、"tomcat junit"とかでググッてみると何か見つかるのかも?
なんかテストするためのツール(JUnitと組み合わせて)とかもあるようではありますけど・・。
いいのかどうか判らないですけど(やろうとしているものの度合い?とかも含めて)、Cactusとかいうものとか。(Jakarta Cactusかな?)

評価

0

詳しくないのでググりかじり(新語?)ですが。

JUnitだけではServletやJSPなど、サーブレットコンテナを必要とするコードをテストできません。とありますので。
まあさんの言われるようにCactusとか使う必要があるようです。

自分が見たページです。
http://codezine.jp/a/article.aspx?aid=494
http://www.techscore.com/tech/ApacheJakarta/Cactus/index.html

>PageContextを渡す必要がありまして・・・
どういうクラスなんでしょうね?

評価

0

みなさん、ありがとうございます。
Cactusの件、調べてみます。

現在、某FWを使っているのですが、
テストクラス用に、そのFWをカスタマイズしないと駄目なような気がします。

PageContextを渡す必要があるクラスは

public xxx(PageContext pageContext) {
    super(pageContext);
}

です。

評価

0

なるほど、たしかにtomcat上でないのだから、簡単には取得できそうにないですね。

質問から6ヶ月以上経過しているので、回答を書き込むことはできません。