struts.xmlの詳細な設定例
struts.xml は開発で最も使用されるファイルであり、Struts2 の最も重要な構成ファイルです。
struts.xml で一般的に使用されるタグをいくつか紹介します
1.
include タグを使用すると、struts.xml 構成ファイルを複数の構成ファイルに分割し、それらを struts.xml に追加できます。
たとえば、オンライン ショッピング プログラムでは、ユーザー構成、製品構成、注文構成を 3 つの構成ファイル user.xml、goods.xml、order.xml にそれぞれ配置し、これら 3 つの構成ファイルを配置できます。 struts.xml 内 はじめに:
struts.xml:
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN" "http://struts.apache.org/dtds/struts-2.0.dtd"> <struts> <include file="user.xml"/> <include file="goods.xml"/> <include file="order.xml"/> </struts>
user.xml:
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN" "http://struts.apache.org/dtds/struts-2.0.dtd"> <struts> <package name="wwfy" extends="struts-default"> <action name="login" class="wwfy.user.LoginAction"> <!--省略Action其他配置--> </action> <action name="logout" class="wwfy.user.LogoutAction"> <!--省略Action其他配置--> </action> </package> </struts>
2,
前回の struts.properties 構成ファイルの紹介で、すべて struts 内にあると述べました。 .properties ファイル 定義された attributes は、struts.xml ファイルで構成できます。 struts.xml では、
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN" "http://struts.apache.org/dtds/struts-2.0.dtd"> <struts> <!--设置开发模式--> <constant name="struts.devMode" value="true"/> <!--设置编码形式为GB2312--> <constant name="struts.i18n.encoding" value="GB2312"/> <!--省略其他配置信息--> </struts>
3、
1 を使用して構成されます。 Struts2
フレームワークでは、アクションはパッケージ構成情報によって管理されます。結果、インターセプター、インターセプタースタックなど。パッケージの属性は次のとおりです。
が必須かどうか | 説明 | |
は | パッケージ名であり、マークとして使用されます。 | その他のパッケージこのパッケージに適用する |
いいえ | このパッケージを設定する | 継承する他のパッケージ |
いいえ | パッケージの | 名前空間を設定する|
いいえ | 設定抽象パッケージとして |
属性名称 | 是否必须 | 功能描述 |
name | 是 | 请求的Action名称 |
class | 否 | Action处理类对应具体路径 |
method | 否 | 指定Action中的方法名 |
converter | 否 | 指定Action使用的类型转换器 |
如果没有指定method则默认执行Action中的execute方法。
2、属性介绍
属性名称 | 是否必须 | 功能描述 |
name | 否 | 对应Action返回逻辑视图名称,默认为success |
type | 否 | 返回结果类型,默认为dispatcher |
3、通配符的使用
随着result的增加,struts.xml文件也会随之变得越来越复杂。那么就可以使用通配符来简化配置:
例如下面这个案例:
Action为Test.java
public class Test { public String test1(){ return "result1"; } public String test2(){ return "result2"; } public String test3(){ return "result3"; } }
struts.xml中配置为
<package name="wwfy" extends="struts-default"> <action name="test*" class="wwfy.action.test{1}"> <result name="result{1}">/result{1}.jsp</result> </action> </package>
4、访问Action方法的另一种实现方式
在Struts2中如果要访问Action中的指定方法,还可以通过改变URL请求来实现,将原本的“Action名称.action”改为“Action名称!方法名称.action”在struts.xml中就不需要指定方法名了。
5、与
这两个标签都是用来配置发生异常时对应的视图信息的,只不过一个是Action范围的,一个是包范围的,当同一类型异常在两个范围都被配置时,Action范围的优先级要高于包范围的优先级.这两个标签包含的属性也是一样的:
属性名称 | 是否必须 | 功能描述 |
name | 否 | 用来表示该异常配置信息 |
result | 是 | 指定发生异常时显示的视图信息,这里要配置为逻辑视图 |
exception | 是 | 指定异常类型 |
两个标签的示例代码为:
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN" "http://struts.apache.org/dtds/struts-2.0.dtd"> <struts> <package name="default" extends="struts-default"> <global-exception-mappings> <exception-mapping result="逻辑视图" exception="异常类型"/> </global-exception-mappings> <action name="Action名称"> <exception-mapping result="逻辑视图" exception="异常类型"/> </action> </package> </struts>
6、
当我们在配置Action的时候,如果没有为某个Action指定具体的class值时,系统将自动引用
有特殊需要时,可以手动指定默认的class
package wwfy.action; public class DefaultClassRef { public void execute(){ System.out.println("默认class开始执行……"); } }
在struts.xml中配置
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN" "http://struts.apache.org/dtds/struts-2.0.dtd"> <struts> <package name="wwfy" extends="struts-default"> <!-- 指定默认class为Test --> <default-class-ref class="wwfy.action.DefaultClassRef"/> <action name="test1"> <result>/index.jsp</result> </action> </package> </struts>
7、
如果在请求一个没有定义过的Action资源时,系统就会抛出404错误。这种错误不可避免,但这样的页面并不友好。我们可以使用
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN" "http://struts.apache.org/dtds/struts-2.0.dtd"> <struts> <package name="wwfy" extends="struts-default"> <default-action-ref name="acctionError"></default-action-ref> <action name="acctionError"> <result>/jsp/actionError.jsp</result> </action> </package> </struts>
8、
该标签用来设置整个包范围内所有Action所要应用的默认拦截器信息。事实上我们的包继承了struts-default包以后,使用的是Struts的默认设置。我们可以在struts-default.xml中找到相关配置:
<default-interceptor-ref name="defaultStack"/>
在实际开发过程中,如果我们有特殊的需求是可以改变默认拦截器配置的。当时一旦更改这个配置,“defaultStack”将不再被引用,需要手动最加。
9、
通过该标签可以向Struts2框架中注册拦截器或者拦截器栈,一般多用于自定义拦截器或拦截器栈的注册。该标签使用方法如下:
<interceptors> <interceptor name="拦截器名" class="拦截器类"/> <interceptor-stack name="拦截器栈名"> <interceptor-ref name="拦截器名"> </interceptor-stack> </interceptors>
10、
通过该标签可以为其所在的Action添加拦截器功能。当为某个Action单独添加拦截器功能后,
11、
该标签用于设置包范围内的全局结果集。在多个Action返回相同逻辑视图的情况下,可以通过
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN" "http://struts.apache.org/dtds/struts-2.0.dtd"> <struts> <package name="wwfy" extends="struts-default"> <global-results> <result name="test">/index.jsp</result> </global-results> </package> </struts>
【相关推荐】
1. XML免费视频教程
2. XML技术手册
3. 李炎恢XHTML视频教程
以上がstruts.xmlの詳細な設定例の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

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

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

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









XML ファイルは PPT で開くことができますか? XML、Extensible Markup Language (Extensible Markup Language) は、データ交換とデータ ストレージで広く使用されている汎用マークアップ言語です。 HTML と比較して、XML はより柔軟であり、独自のタグとデータ構造を定義できるため、データの保存と交換がより便利で統一されます。 PPT (PowerPoint) は、プレゼンテーションを作成するために Microsoft によって開発されたソフトウェアです。包括的な方法を提供します。

Python を使用した XML データのマージと重複排除 XML (eXtensibleMarkupLanguage) は、データの保存と送信に使用されるマークアップ言語です。 XML データを処理するとき、複数の XML ファイルを 1 つにマージしたり、重複データを削除したりする必要がある場合があります。この記事では、Python を使用して XML データのマージと重複排除を実装する方法と、対応するコード例を紹介します。 1. XML データのマージ 複数の XML ファイルがある場合、それらをマージする必要があります。

Python の XML データを CSV 形式に変換する XML (ExtensibleMarkupLanguage) は、データの保存と送信に一般的に使用される拡張可能なマークアップ言語です。 CSV (CommaSeparatedValues) は、データのインポートとエクスポートに一般的に使用されるカンマ区切りのテキスト ファイル形式です。データを処理するとき、分析や処理を容易にするために、XML データを CSV 形式に変換する必要がある場合があります。 Pythonは強力です

Python を使用した XML データのフィルタリングと並べ替えの実装 はじめに: XML は、データをタグと属性の形式で保存する、一般的に使用されるデータ交換形式です。 XML データを処理するとき、多くの場合、データのフィルタリングと並べ替えが必要になります。 Python には、XML データを処理するための便利なツールとライブラリが多数用意されています。この記事では、Python を使用して XML データをフィルタリングおよび並べ替える方法を紹介します。 XML ファイルの読み取り 始める前に、XML ファイルを読み取る必要があります。 Python には XML 処理ライブラリが多数ありますが、

Python は XML と JSON 間の変換を実装します はじめに: 日常の開発プロセスでは、異なる形式間でデータを変換する必要があることがよくあります。 XML と JSON は一般的なデータ交換形式であり、Python ではさまざまなライブラリを使用して XML と JSON の間で変換できます。この記事では、一般的に使用されるいくつかの方法をコード例とともに紹介します。 1. Python で XML を JSON に変換するには、xml.etree.ElementTree モジュールを使用できます。

Python を使用した XML でのエラーと例外の処理 XML は、構造化データの保存と表現に使用される一般的に使用されるデータ形式です。 Python を使用して XML を処理すると、エラーや例外が発生することがあります。この記事では、Python を使用して XML のエラーと例外を処理する方法を紹介し、参考用のサンプル コードをいくつか示します。 Try-Except ステートメントを使用して XML 解析エラーを捕捉する Python を使用して XML を解析すると、時々、次のようなエラーが発生することがあります。

Python は XML 内の特殊文字とエスケープ シーケンスを解析します XML (eXtensibleMarkupLanguage) は、異なるシステム間でデータを転送および保存するために一般的に使用されるデータ交換形式です。 XML ファイルを処理する場合、特殊文字やエスケープ シーケンスが含まれる状況に遭遇することが多く、これにより解析エラーやデータの誤解が生じる可能性があります。したがって、Python を使用して XML ファイルを解析する場合は、これらの特殊文字とエスケープ シーケンスの処理方法を理解する必要があります。 1. 特殊文字と

C# 開発で XML および JSON データ形式を処理する方法には、特定のコード サンプルが必要です。現代のソフトウェア開発では、XML と JSON の 2 つのデータ形式が広く使用されています。 XML (Extensible Markup Language) はデータの保存と送信に使用されるマークアップ言語であり、JSON (JavaScript Object Notation) は軽量のデータ交換形式です。 C# 開発では、XML と JSON データの処理と操作が必要になることがよくありますが、この記事では、C# を使用してこれら 2 つのデータ形式を処理し、添付する方法に焦点を当てます。
