1. はじめに (この記事は Orion 公式 Web サイトからの翻訳です)
この記事では、Orion Application Server で独自のタグを定義し、タグの機能を実装し、最後にテストする方法を段階的に紹介します。 JSP の例を使用します。
2. ラベルを作成し、ラベルの機能を実現します。
1. パッケージに名前を付けます: com.acme.mytags (元のテキストとの一貫性を保つため、変更は行いません)
package com.acme.mytags;
2.import 関連クラス
import javax.servlet.jsp.*;
import javax.servlet.jsp.tagext.*;
3. javax を実装します。 .servlet.jsp.tagext .Tag インターフェイス:
public クラス HelloWorld はタグ
{
を実装します。4. ローカル変数を定義します。
private PageContext pageContext; 🎜>
private タグの親;
5. タグ開始実装メソッドを呼び出す
public int doStartTag() throws javax.servlet.jsp.JspException
{
return SKIP_BODY;
}
注: このメソッドは SKIP_BODY を返します。つまり、タグの本文が空の場合はこの値が返され、そうでない場合は返されます。 : EVAL_BODY_INCLUDE
6. タグ end
public int doEndTag() の実装メソッドを呼び出すと、javax.servlet.jsp.JspException
{
try
{
pageContext.getOut().write('Hello World!');
}
catch(java.io.IOException e)
{
throw new JspException('IO Error: ' e.getMessage());
return
}
これは jsp で行われます。ファイルのカスタム タグの最後に、「Hello World!」が出力されます。
7. 次のメソッドを記述する必要があります。 🎜>
public void release() {}
この単純な例では、上記のメソッドを実装する必要はありません。
8. JSP コンテナは次のメソッドを呼び出す必要があります:
public void setPageContext(final javax.servlet.jsp.PageContext pageContext) {
this.pageContext=pageContext ;
}
JSP コンテナは上記のメソッドを通じてタグを呼び出し、上記のメソッドはタグの PageContext を設定するために使用されます。
9.また、次のメソッドも呼び出します。
public void setParent(final javax.servlet.jsp.tagext.Tagparent)
{
this.parent=parent;
}
各タグの PageContext はその親タグを保持する必要があるため、JSP コンテナは上記のメソッドを通じてタグの親タグを設定します。
10. 最後に、実装メソッド:
public javax.servlet.jsp.tagext.Tag getParent()
{
returnparent;
}
}
11. タグをコンパイルします。
3. 説明タグ
次に、タグを説明するための説明ファイルを作成します。
1. taglib.tld ファイルを作成します。
2.taglib.tld は XML 形式のテキスト ファイルです。
'http://java.sun.com/j2ee/dtds/web-jsptaglibrary_1_1.dtd'>
3. 説明タグライブラリ
1.0
1.1
mt http://www.orionserver.com/tutorials/tagtut/lesson1/mytags.jar
初めてのタグ ライブラリ
4. タグについて説明します。
helloWorld
com.acme.mytags.HelloWorld
空
Hello world タグ
5. 終了
4. パッケージ化
名前: mytags.jar
ディレクトリ構造:
com/acme/mytags/HelloWorld.class
META-INF/taglib.tld
5. jsp ファイルでカスタム タグ
を使用して hello を作成します。 jsp 次のように:
6. テスト実行
orion ディレクトリに、自分で作成したタグを含む以下の構造を作成します。ディレクトリはオリジナルのものがあります。
E:oriondefault-web-app ag
すべての jar ファイルと jsp ファイルをこのディレクトリに置きます。
次に、
http://localhost:[port]/tag/hello.jsp
にアクセスします。
----- -------------------------------------------------- - ----------
Hello World!
---------------------------- -- ----------------------------------
7. おめでとうございます、成功しました!
添付: mytags.jar および hello.jsp ファイル この Web サイトのダウンロード アドレス:
http://www.wodejia.net/softdownload/java/orion_tag01.zip (出典: viphot.コム)

本篇文章给大家带来了关于java的相关知识,其中主要介绍了关于结构化数据处理开源库SPL的相关问题,下面就一起来看一下java下理想的结构化数据处理类库,希望对大家有帮助。

本篇文章给大家带来了关于java的相关知识,其中主要介绍了关于PriorityQueue优先级队列的相关知识,Java集合框架中提供了PriorityQueue和PriorityBlockingQueue两种类型的优先级队列,PriorityQueue是线程不安全的,PriorityBlockingQueue是线程安全的,下面一起来看一下,希望对大家有帮助。

本篇文章给大家带来了关于java的相关知识,其中主要介绍了关于java锁的相关问题,包括了独占锁、悲观锁、乐观锁、共享锁等等内容,下面一起来看一下,希望对大家有帮助。

本篇文章给大家带来了关于java的相关知识,其中主要介绍了关于多线程的相关问题,包括了线程安装、线程加锁与线程不安全的原因、线程安全的标准类等等内容,希望对大家有帮助。

本篇文章给大家带来了关于java的相关知识,其中主要介绍了关于枚举的相关问题,包括了枚举的基本操作、集合类对枚举的支持等等内容,下面一起来看一下,希望对大家有帮助。

本篇文章给大家带来了关于Java的相关知识,其中主要介绍了关于关键字中this和super的相关问题,以及他们的一些区别,下面一起来看一下,希望对大家有帮助。

本篇文章给大家带来了关于java的相关知识,其中主要介绍了关于平衡二叉树(AVL树)的相关知识,AVL树本质上是带了平衡功能的二叉查找树,下面一起来看一下,希望对大家有帮助。

本篇文章给大家带来了关于Java的相关知识,其中主要整理了Stream流的概念和使用的相关问题,包括了Stream流的概念、Stream流的获取、Stream流的常用方法等等内容,下面一起来看一下,希望对大家有帮助。


ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

SublimeText3 中国語版
中国語版、とても使いやすい

MinGW - Minimalist GNU for Windows
このプロジェクトは osdn.net/projects/mingw に移行中です。引き続きそこでフォローしていただけます。 MinGW: GNU Compiler Collection (GCC) のネイティブ Windows ポートであり、ネイティブ Windows アプリケーションを構築するための自由に配布可能なインポート ライブラリとヘッダー ファイルであり、C99 機能をサポートする MSVC ランタイムの拡張機能が含まれています。すべての MinGW ソフトウェアは 64 ビット Windows プラットフォームで実行できます。

AtomエディタMac版ダウンロード
最も人気のあるオープンソースエディター

メモ帳++7.3.1
使いやすく無料のコードエディター

mPDF
mPDF は、UTF-8 でエンコードされた HTML から PDF ファイルを生成できる PHP ライブラリです。オリジナルの作者である Ian Back は、Web サイトから「オンザフライ」で PDF ファイルを出力し、さまざまな言語を処理するために mPDF を作成しました。 HTML2FPDF などのオリジナルのスクリプトよりも遅く、Unicode フォントを使用すると生成されるファイルが大きくなりますが、CSS スタイルなどをサポートし、多くの機能強化が施されています。 RTL (アラビア語とヘブライ語) や CJK (中国語、日本語、韓国語) を含むほぼすべての言語をサポートします。ネストされたブロックレベル要素 (P、DIV など) をサポートします。

ホットトピック



