Strutsユーザガイド
クイックリンク
ホーム
目次
はじめに
モデル コンポーネント
ビュー コンポーネント
コントローラ コンポーネント
リソース
私たちは誰でしょう
Kickstart FAQ
目次

Here are answers to the usual getting-started questions. For an in-depth, searchable FAQ, visit our friends at JGuru.


ここに、初めに得るべき質問への答えがあります。 詳細な検索可能なFAQについては、私達を支援する JGuruを訪れてください。

なぜStrutsが必要なのでしょう?

Java technologies give developers a serious boost when creating and maintaining applications to meet the demands of today's public Web sites and enterprise intranets. Struts combines Java Servlets, Java ServerPages, custom tags, and message resources into a unified framework. The end result is a cooperative, synergistic platform, suitable for development teams, independent developers, and everyone in between.


今日の企業イントラネットとパブリックなWebサイトの要求をみたすアプリケーションの作成と維持する場合に、Javaテクノロジが開発者に強力な後押しをします。 StrutsはJava Servlet, Java ServerPages, カスタムタグとメッセージのリソースを統一フレームワークとして統合します。 最終目標は、開発チームや個人開発者また関係する全ての人にとって有用な、共同・協力して作業可能なプラットフォームを提供することです。
Strutsはどのような動作をしますか?

Java Servlets are designed to handle requests made by Web browsers. Java ServerPages are designed to create dynamic Web pages that can turn billboard sites into live applications. Struts uses a special Servlet as a switchboard to route requests from Web browsers to the appropriate ServerPage. This makes Web applications much easier to design, create, and maintain.


Java ServletはWebブラウザで作成されたリクエストを処理するようにデザインされました。Java ServerPages はビルボード・サイトを実際のアプリケーションに代えられるような、動的なWeb pageを作るためにデザインされました。Webブラウザからのリクエストを適切なServerPageに送るために、Strutsはスイッチボードとして特別なServletを使用します。 これは、Webアプリケーションを設計、作成そして維持することを、とても容易にします。

Strutsは他のJava技術と互換性はありますか?

Yes. Struts is committed to supporting industry standards. Our lead developer is a member of JSR052, Sun's Expert group for developing a standard library of custom JSP tags. A primary design criteria is that Struts must be compatible with Sun's J2EE platform for corporate enterprises. In fact, Struts really acts as an integrator of Java technologies, so that they can be used in the "real world".


はい。Strutsは業界標準のサポートを約束します。私達の主開発者は、SunのカスタムJSPタグの標準ライブラリ開発のエキスパートグループであるJSR052のメンバです。主要な設計基準は、Sunの企業向けJ2EEプラットフォームと互換性を持たせることです。事実、StrutsはJava技術のインテグレータによって「現実の世界で」使われています。
誰がStrutsを書いたのですか?

Struts was created by Craig R. McClanahan, and donated to the Apache Software Foundation in May 2000. Craig is the primary developer of both Struts and Tomcat 4, the official reference implementation for a Java servlet container. With stable releases of Struts and Tomcat 4 in circulation, Craig is now working as the Implementation Engineer for Sun's new Web Services Pack.


Strutsは Craig R McClanahanによって作成され、そして2000年5月にApache Software Foundationに寄贈されました。Craigは、StrutsとJavaServletコンテナの公式参照実装(オフィシャル リファレンス インプリメンテーション)であるTomcat 4の主要な開発者です。StrutsとTomcat4の安定したリリースのサイクルのために、Craigは、現在Sunの新しいWebサービスパックの実装エンジニアとして働いています。

There are now many active committers to the Struts project, working cooperatively from around the globe. Other Java developers are invited to contribute to the project. Struts is an Apache Jakarta project, with the common mission to "provide commercial-quality server solutions based on the Java Platform that are developed in an open and cooperative fashion". All told, 17 individual developers and committers contributed to the Struts 1.0 codebase.


現在、Strutsプロジェクトに世界中から多くのコミッタが協力してくれています。他のJava開発者も、プロジェクトに貢献することが望まれています。Strutsは「オープンで協調した開発によるJavaプラットフォームでの、サーバサイドソリューションを商用クォリティで提供する」という共通の目的をもつ、Apache Jakartaプロジェクトです。全部で、17の個人開発者とコミッタがStruts1.0のコードベースに貢献しました。

なぜStrutsと呼ばれるのでしょう?

It's a reference to struts in the architectural sense, a reminder of the nearly invisible pieces that hold up buildings, houses, and bridges.


ビル、家や橋を支えるほとんど気にせず目に見えない部分、という建築上の感覚に基づいています。

Strutsのライセンスはどうなっていますか?

Struts is copyrighted software available under a "free-to-use-license" by the Apache Software Foundation. The license appears at the head of every source code file. A reference copy of the license is available here.


Strutsは、the Apache Software Foundation の"free-to-use-license"に基づく著作権をもつソフトウェアです。ライセンスは、全てのソースコードファイルの上部に表示されています。コピーに関するライセンスは、ここを参照してください。

商用アプリケーションにStrutsを使う事は出来ますか?

Yes. The only requirements you must meet are those listed in the Apache Software Foundation license, which is included at the top of each source file and in the file LICENSE in the top-level directory of the distribution.


はい。満たさなければならないただ一つの必要条件は、ディストリビューションのトップディレクトリにLICENSEファイルを置く事と、それぞれのソースファイルの先頭にthe Apache Software Foundation licenseをリストする事です。

In addition, contributions of patches, improved code, new features, or even just requests for features are also welcome.


さらに、パッチの寄付、改善したコード、新しい機能、あるいは、さらなる機能の要求を歓迎します。

Strutsのコピーは何処から得られますか?

The best place to download Struts is at jakarta.apache.org/struts. The nightly builds are very stable, and recommended as the best place to start today.


Strutsダウンロードのベストな場所は、jakarta.apache.org/strutsです。ナイトリービルドはとても安定していて、いまから始める最良の場所として推奨します。

どうやってStrutsをインストールするのですか?

To develop applications with Struts, you can usually just add the Struts JAR file to your Java development environment. You can then start using the Struts classes as part of your own application. A blank Struts application is provided, which you can just copy to get a quick-start on your own brainchild.


Strutsでアプリケーションを開発するなら、通常はあなたのJava開発環境にStrutsのJARファイルを追加します。その後は自分のアプリケーションの一部として、Strutsクラスが使えるようになります。あなたの考えている事が、コピーするだけで迅速に開 始できるように、blank Struts applicationが、提供されています。

Since the full source code for Struts is available, we also provide complete instructions for compiling your own Struts JAR from scratch. (This is actually easier that it looks!)


Strutsの全ソースコードが利用可能です。さらに、ゼロからStruts JARをコンパイルするための 完全な手順を提供します(これは見ると本当に簡単です)。

Your Struts application can be usually be deployed using a standard WAR file. In most cases, you simply deposit the WAR file on your application server, and it is installed automatically. If not, step-by-step installation instructions for various servlet containers are available.


Strutsアプリケーションは、標準のWARファイルとして通常は配備出来ます。ほとんどの場合、単にアプリケーションサーバーにWARファイルを置くだけで、自動的にインストールされます。もし、だめなら、様々なservletコンテナのための、ステップ・バイ・ステップのインストール手順が利用できます。

いつ、クラスパス中の"struts.jar"を必要としますか?

When you are compiling an application that uses the Struts classes, you must have the "struts.jar" on the classpath your compiler sees -- it does not have to be on your CLASSPATH environment variable.


Strutsのクラスを使ったアプリケーションをコンパイルする時、コンパイラが参照するクラスパスに“struts.jar”がなくてななりません。参考 - それは、あなたのCLASSPATH環境変数中にある必要はありません

Why is that an important distinction? Because if you are using a servlet container on your development machine to test your application, the "struts.jar" must not be on your CLASSPATH environment variable when running the container. (This is because each Web application must also have their own copy of the Struts classes, and the container will become confused if it is on the environment path as well.)


なぜ、それの区別が重要なのでしょうか?なぜなら、開発マシン上のServletコンテナを使ってあなたのアプリケーションをテストする場合、コンテナが実行する“struts.jar”は、あなたのCLASSPATH環境変数上ではないからです。(これは各ウェブアプリケーションがさらにStrutsクラス自身のコピーを持つからです。また、コンテナーは、それが環境のパス上に同様にある場合に、混乱するようになるでしょう)

There are several general approaches to this issue:


この問題へのいくつかの一般的なアプローチがあります。

  • Use ANT for building your projects -- it can easily assemble classpaths for the compiler. (This is how Struts itself is built, along with Tomcat and most other Java-based projects).
  • Use an IDE where you can configure the "class path" used for compilation independent of the CLASSPATH environment variable.
  • Use a shell script that temporarily adds struts.jar to the classpath just for compilation, for example
    javac -classpath /path/to/struts.jar:$CLASSPATH $@

  • ANTを使ってプロジェクトを構築する -- これは、コンパイラ用のクラスパスを容易に組み立てる事が可能です。
  • IDEを使ってCLASSPATH環境変数に非依存の編集のために用意された“クラスパス”を設定可能とします
  • シェルスクリプトを使って一時的にコンパイル時のクラスパスにstruts.jarを追加します。例は
    javac -classpath /path/to/struts.jar:$CLASSPATH $@です。
どこでStrutsに関するヘルプが得られますか?

The Struts package comes complete with a users guide to introduce people to the framework and its underlying technologies. Various components also have their own in-depth developers guide, to cover more advanced topics. Comprehesive Javadocs are included along with the full source code. The Strut's mailing list is also very active, and welcomes posts from new users.


Strutsパッケージは人々にフレームワークおよびその基礎的な技術を導入する ための、ユーザガイドを完備しています。様々なコンポーネントは、さらにもっと高度なトピックをカバーするために、詳細な開発者ガイドをもっています。 わかりやすいJavadocsは、 全てのソースコードに含まれています。 Strut's メーリングリストは、とても活発で、そして新しいユーザの投稿を歓迎します。

There are also many third-party tutorials, articles, and books that cover Struts. See our Resources page for current listings and links. Two very useful resources are the mailing list archives and the Struts Forum at JGuru.


Strutsを扱った、多くのサードパーティのチュートリアル、記事と本が存在します。現在の一覧とリンクはResources pageを参照してください。2つの有益なリソースは、メーリングリストアーカイブJGuruのStrutsフォーラムです。

Strutsの商用サポートはありますか?

There is no official, commercial support for Struts, though third parties may offer different degrees of support. A list of Struts consultants is available on our Resources page


公式には存在しません。Strutsへの商用サポートは、しかしサードパーティが様々なレベルのサポートを提供するでしょう。Strutsのコンサルタントのリストはリソースページにて参照できます。

StrutsアプリケーションをホスティングできるISPがありますか?

For a listing of some Java and Struts ISPs, visit our Resources page.


いくつかのJavaとStruts ISPのリストについては、私達の リソースページを訪れてください。

どこのウェブサイトが既にStrutsによって動いていますか?

For a listing of some Struts-powered Web sites available to the public, visit our Resources page.


公になっているStrutsで動作しているウェブサイトのリストについては、私達の リソースページを訪れてください。

Jakarta Struts とJakarta Turbineの間の差は何でしょう?

See


下記を参照してください

なぜ、StrutsタグはJakarta Taglibsプロジェクトの一部として管理されないのですか?

Development of both products began about the same time. Leading up to the release of 1.0, it was thought better to continue to develop the taglibs alongside the controller. Now that 1.0 is out, the Java ServerPages Standard Taglib is in active development. Once work on the JSPTL stabilizes, the Struts taglibs will be revisited. Tags which are are not linked directly to the framework may be hosted at Jakarta Taglibs instead.


両方のプロジェクトの開発は、ほぼ同時に開始されました。Struts1.0のリリースに際して、コントローラと並んでタグリブを継続的に開発するのがよいであろうと判断しました。現在、Struts1.0はリリース済みで、Java Server Pagesの標準Taglibは活発に開発されています。一旦、JSPTLの作業が安定すれば、Struts taglibsは再びJSTLに歩み寄るでしょう。フレームワークへ直接関係していないタグは、我々の代わりにJakarta Taglibsによって供給されるでしょう。

バグまたは機能作成要求は何処へレポートすればよいですか?

You can research and report outstanding fixes and feature requests using Jakarta Bugzilla.


未解決のフィックスと機能のリクエストについては、Jakarta Bugzillaを使って調査と報告が出来ます。

If you are unsure if this is in actual problem, feel free to bring it up on the list first. But to be sure an issue is resolved, always report it to Bugzilla.


これが本当にバグなのかどうか不確実な場合、まずは自由な形式でメーリングリストに投稿してください。しかし、確実に問題を解決するためには、常にBugzillaにそれを報告してください。

Struts also maintains a TODO list outlining features being planned or developed.


またStrutsでは計画中または開発中の機能の概要を示すTODO リストを持っています。

私はどのようにStrutsの開発に貢献することができますか?

Struts is distributed by the Apache Software Foundation. These are the same people who distribute the Apache Web server. Like all ASF projects, Struts is managed as a "meritocracy", where everyone's contribution is welcome. Users can help other users on the mailing lists, report bugs, and request new features. Developers can contribute patches, new code, and documentation. The most active Developers may become Committers, who make the actual decisions about the Strut's codebase.


StrutsはApache Software Foundationによって配布されています。これは、Apache Webサーバを配布しているのと同じ人々です。全てのASFプロジェクトのように、Strutsは「meritocracy(実績重視主義)」として管理されており、皆さんの貢献が歓迎されます。ユーザは、メーリングリスト, バグレポート, や新機能リクエストで、他のユーザの助けができます。開発者は、パッチ、新しいコードやドキュメントで寄与できます。とても積極的な開発者はコミッタとなり、Strutsのコードベースに関する実際の決定を下します。

You can start by joining the Struts User list. If you enjoy participating there, then sign up for the Struts Developer list too. If you find any problems with Struts, or find a missing feature, you can enter a record to our Bugzilla database.


Strutsユーザリストに参加する事ができます。もし、そこへの参加をエンジョイできたなら、Strutsデベロッパリストにもサインアップしてください。Strutsに関いくらかの問題を見つけた場合、または見当たらない機能を見つけた場合、私達のBugzillaデータベースへレコードを入力する事が可能となります。

次のリリースはいつですか?

Here is the truth regarding releases:

Jakarta products are released on the basis of merit, and ~not~ according to a strict timetable. The volunteers devote whatever time they can to working on the product. But all volunteers have real jobs and real lives, that do take precedence. Since Struts does have have paid personnel working on the project, we simply cannot make date-orientated commitments.


ここに、リリースに関する真実があります:

Jakarta プロダクトは厳密な予定に従うのでは~なく~、 功績に基づいてリリースされます。 ボランティアは、プロダクトの開発作業可能であればどんな時間であっても捧げています。 しかし、ボランティアはみな実際の仕事および実際の生活をもっています。 そちらが優先されます。Strutsはプロジェクトで作業をする人員に利益になるよう、単に日程指向の約束をすることはしません。

All Jakarta products must circulate a public beta before release. If a beta is not in circulation, then it's a good bet that a release is not forthcoming any time soon. Products sometimes go through several betas before final release. So if this is beta 1, then it still may not be released any time soon.


全てのJakartaプロダクトは、リリース前に公式ベータを配布します。 ベータが配布されていない場合、それは常に、リリースがすぐには出ないと考えてよいでしょう。 プロダクトは時々、最終リリース前にいくつかのベータを通過します。 したがって、それがベータ1である場合、それはまだ、すぐにリリースされないかもしれません。

The bottom line is that Jakarta takes releases very seriously. We do not compromise the quality of our software by watching the calendar (and then ship something ready or not). A release is ready when it is ready.


結論は、Jakartaがリリースを非常に真剣に受けとめているということです。 私たちは、カレンダーを見ることにより、ソフトウェアの質を危険にさらしません (そして、即座に提供するか否かをきめます)。 リリース準備完了というのは、その準備が出来たときにはじめていえるのです。

That may sound flip, but it ~is~ the truth. The delivery of production-quality, leading-edge software is not something anyone can prognasticate. If anyone tries, they are lying to you. That, we won't do ;-)


素っ気無く聞こえるかもしれません。しかし、それが真実です。 プロダクトの質と最先端のソフトウェアを提供する事は、 だれもが予測(訳者:原文は多分スペルミスprognasticate→prognosticate) できる事ではありません。 もし、誰かが挑戦するというなら、彼らは嘘を言っています。 私たちはしません :-)

What we ~will~ do is release all of our development software as soon as it is developed. This way you can judge for yourself how quickly the development is proceeding, and whether what is being developed will meet your needs. If you need a feature right now, you can use the nightly build, or roll your own patch. There are no private CVS's or a private development lists. What you see is what we got. If you are following the DEV list, then you know everything the developers know. Really, you do.


私達は、私達が開発しているソフトウェアの全てが開発されると、すぐにリリースを行うでしょう。この方法は、開発がどれくらい速く進んでいるか、そして、 開発されているものがあなたのニーズを満たすかどうかを、あなた自身で判断することができます。今すぐ機能を必要とする場合、あなたは、ナイトリービルドまたは、機能の独自のパッチを使う事ができます。それらは、非公開のCVSや非公開の開発リストではありません。あなたが見るものは、私達が得たものです。 もしあなたが、開発者メーリングリストに参加しているならば、 開発者が知っているすべてを知ることができます。 本当です。

どうやってメーリング・リストから登録を取り消しますか?

From the email account used to subscribe to the list, send a blank message to < struts-user-unsubscribe@jakarta.apache.org>.


購読を登録するために使用したメールアカウントから、 空のメッセージを < struts-user-unsubscribe@jakarta.apache.org>へ送ります


[訳注: これは黒住 幸光が翻訳しました。日本語訳に対するコメントがあれば、こちらに送って下さい。]
Copyright (c) 2000-2002, Apache Software Foundation