0

自分のタグで同じリソース (xml doc など) を使用するにはどうすればよいですか?

擬似コード:

JSP:

<readxml:getuser/>
<readxml:getpassword/>

ジャワ:

public class getpassword(or getuser) extends BodyTagSupport
{
   if(doc)
   {
      out.println(doc)
   }
   else
   {
      doc = builder.build(file)
      out.println(doc)
   }
}

それは可能ですか?

4

2 に答える 2

2

現在のリクエストのコンテキストで一時データを保存できます。

public class getpassword(or getuser) extends BodyTagSupport
{
   public int doEndTag() {
      Doc doc = pageContext.getRequest().getAttribute("doc");
      if(doc == null)
      {
         pageContext.getRequest().setAttribute("doc", doc = builder.build(file));
      }
      out.println(doc);
       ...
   }
}

また、セッションまたは静的変数に保存することもできます (必要なスコープによって異なります)。

于 2012-04-12T16:38:34.617 に答える
0

共通クラスからカスタム タグを拡張し、XML の読み込みを遅延させます。ドキュメントを繰り返し解析することを避けたいので、ドキュメント変数自体を静的にする必要があります。

ドキュメントの読み込みと保存の機能を共通のクラスに配置する代わりに、関連するすべてのタグ (サポート クラス) から参照するスタンドアロンのユーティリティ クラスに実装することもできます。

于 2012-04-12T16:38:45.590 に答える