Struts2の型変換:タイプ変換エラーハンドリング - 呉ユーキション自然に生まれフライ級JAVA EEエンタープライズアプリケーション開発Struts2Sping4Hibernateは、開発の研究ノートを統合しました

<?xml version = "1.0"エンコード= "GBK"?> 
<プロジェクト名= "支柱"のbasedir = "" デフォルト = ""> 
    <プロパティ名= "DIST"値= "クラス" /> 
    <プロパティ名= "SRC"値= "SRC" /> 
    
    <パスのid = "クラスパス"> 
        <ファイルセットDIR = "LIB"> 
            < = "*。JAR" />名前を含む
        </ファイルセット> 
        <pathelementパス= "$ {DIST}" /> 
    </パス> 

    <ターゲット名= "コンパイル" DESCRIPTION = "コンパイルすべてのソースコード"> 
        <削除DIR = "$ {DIST}" /> 
        <MKDIR DIR =」 
        <javacのDESTDIR = "クラス"デバッグ= "true"をincludeantruntime = "yes"を
            廃止 = "false"を最適化= "false"をfailonerror = "真の"> 
            <SRCパス= "$ {SRC}" /> 
            <クラスパスREFID = "クラスパス" /> 
        </ javacの> 
    </ target>を

</プロジェクト>
<?xmlのバージョン= "1.0"エンコード= "GBK"> 

の<web-appのxmlns = "http://xmlns.jcp.org/xml/ns/javaee" 
    のxmlns:XSI = "のhttp://www.w3 .ORG / 2001 / XMLスキーマ・インスタンス" 
    のxsi:schemaLocationの =" http://xmlns.jcp.org/xml/ns/javaee 
    のhttp:// xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd "バージョン=" 3.1" > 
    <! -定义のStruts 2的核心フィルタ- > 
    <フィルタ> 
        <フィルタ名> Struts2の</フィルタ名> 
        <フィルタ- クラス > org.apache.struts2.dispatcher.ng。 filter.StrutsPrepareAndExecuteFilter </フィルタ- クラス > 
    </フィルタ> 
    <! -让のStruts 2的核心フィルター拦截所有请求- >
    <のfilter-mapping>
        <フィルタ名> Struts2の</フィルタ名> 
        の<url-pattern> / * </のurl-pattern> 
    </のfilter-mapping> 
</ web-app>の
#変更デフォルトのメッセージ型変換に失敗
xworkの。デフォルト .invalid.fieldvalue = {0}フィールド型変換の失敗を!
#\ u6539 \ u53d8 \ u9ed8 \ u8ba4 \ u7684 \ u7c7b \ u578b \ u8f6c \ u6362 \ u5931 \ u8d25 \ u540e \ u7684 \ u63d0 \ u793a \ u4fe1 \ u606f 
xworkの。デフォルト .invalid.fieldvalue = {0} \ u5b57 \ u6bb5 \ u7c7b \ u578b \ u8f6c \ u6362 \ u5931 \ u8d25 \ uff01
<?xmlのバージョン= "1.0"エンコード= "GBK"?> 
<!DOCTYPE StrutsのPUBLIC
     " - // Apache Software Foundationの// DTD Strutsの設定2.3 // EN" 
    「http://struts.apache.org/dtds/ 2.3.dtd-Strutsの"> 
<Strutsの> 
    <! -グローバルリソースの設定ファイル- > 
    <定数名=" struts.custom.i18n.resources "値="混乱"/> 
    < ためのパッケージ変更名=" "リー拡張 =「Strutsのデフォルト」> 
        <アクション名=「ログイン」クラス =「org.crazyit.app.action.LoginAction」> 
            <! -という名前の入力構成された論理ビュー、故障の論理ビューに変換したときに- - > 
            <結果名= "INPUT">/WEB-INF/content/input.jsp </結果> 
            <結果> /WEB-INF/content/welcome.jsp </結果>
            <結果名= "エラー"> / WEB-INF /コンテンツ/のwelcome.jsp </結果>
        </アクション> 
        <アクション名= "*"> 
            <結果> / WEB-INF /コンテンツ/ {1}の.jsp </結果>         
        </アクション> 
    </ パッケージ > 
</支柱>
<% - 
网站: <のhref = "http://www.crazyit.org">疯狂のJava联盟</a>の
著者yeeku.H.lee kongyeeku @ 163 .COM 
バージョン   1.0 
著作権(C)、 2001年から2016年、yeeku.H.Lee 
このプログラムはされ保護された著作権法によって。
プログラム名:
日:
 - %> 

<%@ページのcontentType = "text / htmlの;のcharset = GBK"言語= "javaの" errorPageでは= "" %> 
<%@ taglibの接頭辞= "S"のuri = "/ struts-タグ"%> 
<DOCTYPE HTML PUBLIC! " - // W3C // DTD XHTML 1.0過渡// EN" 
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<htmlのxmlns = "のhttp:// WWW。
<S:FieldError /> 
<H3>処理型変換エラー</ H3> 
<P>ユーザ名<B>カンマで入力されたパスワード(、)離間</ B> </ P> 
<S:アクションフォーム= "ログイン"> 
    <S:TextFieldの名= "ユーザー"ラベル= "ユーザー" /> 
    <TR> 
        <TD COLSPAN = "2"> <S:値= "変換"のテーマを提出= "シンプル" /> 
        <S :リセット値= "リフィル"テーマ= "単純な" /> </ TD> 
    </ TR> 
</ S:FORM> 
</ BODY> 
</ HTML>
<% - 
网站: <のhref = "http://www.crazyit.org">疯狂のJava联盟</a>の
著者yeeku.H.lee kongyeeku @ 163 .COM 
バージョン   1.0 
著作権(C)、 2001年から2016年、yeeku.H.Lee 
このプログラムはされ保護された著作権法によって。
プログラム名:
日:
 - %> 

<%@ページのcontentType = "text / htmlの;のcharset = GBK"言語= "javaの" errorPageでは= "" %> 
<%@ taglibの接頭辞= "S"のuri = "/ struts-タグ"%> 
<DOCTYPE HTML PUBLIC! " - // W3C // DTD XHTML 1.0過渡// EN" 
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<htmlのxmlns = "のhttp:// WWW。
    <S:actionmessage /> 
    用户名为: <S:プロパティ値= "user.name" /> <BR/> 
    密码为: <S:プロパティ値= "user.pass" /> <BR/> 
</ BODY > 
</ HTML>
#変更デフォルトのメッセージ型変換に失敗
xworkの。デフォルト .invalid.fieldvalue = {0}フィールド型変換の失敗を!
#\ u6539 \ u53d8 \ u9ed8 \ u8ba4 \ u7684 \ u7c7b \ u578b \ u8f6c \ u6362 \ u5931 \ u8d25 \ u540e \ u7684 \ u63d0 \ u793a \ u4fe1 \ u606f 
xworkの。デフォルト .invalid.fieldvalue = {0} \ u5b57 \ u6bb5 \ u7c7b \ u578b \ u8f6c \ u6362 \ u5931 \ u8d25 \ uff01
<?xmlのバージョン= "1.0"エンコード= "GBK"?> 
<!DOCTYPE StrutsのPUBLIC
     " - // Apache Software Foundationの// DTD Strutsの設定2.3 // EN" 
    「http://struts.apache.org/dtds/ 2.3.dtd-Strutsの"> 
<Strutsの> 
    <! -グローバルリソースの設定ファイル- > 
    <定数名=" struts.custom.i18n.resources "値="混乱"/> 
    < ためのパッケージ変更名=" "リー拡張 =「Strutsのデフォルト」> 
        <アクション名=「ログイン」クラス =「org.crazyit.app.action.LoginAction」> 
            <! -という名前の入力構成された論理ビュー、故障の論理ビューに変換したときに- - > 
            <結果名= "INPUT">/WEB-INF/content/input.jsp </結果> 
            <結果> /WEB-INF/content/welcome.jsp </結果>
            <結果名= "エラー"> / WEB-INF /コンテンツ/のwelcome.jsp </結果>
        </アクション> 
        <アクション名= "*"> 
            <結果> / WEB-INF /コンテンツ/ {1}の.jsp </結果>         
        </アクション> 
    </ パッケージ > 
</支柱>
パッケージorg.crazyit.app.action。

輸入com.opensymphony.xwork2.ActionSupport; 

インポート org.crazyit.app.domain *。; 

/ ** 
 *内容:
 * <BR/>网站:<a href=" "> http://www.crazyit.org 疯狂のJava联盟</a>の
 * <BR/>著作権(C)、2001年から2016年、 Yeeku.H.Lee 
 * <BR/>このプログラムは著作権法により保護されています。
 *プログラム名<BR/>:
 * <BR/>日:
 * @author   Yeeku.H.Lee [email protected] 
 * @version   1。
 
 
    

    // ユーザ的セッター和ゲッター方法
    公共 ボイドSETUSER(ユーザユーザ)
    { 
        この .user = ユーザー。
    } 
    パブリックユーザのgetUser()
    { 
        戻り 、この.userと、
    } 

    パブリック文字列()を実行スロー例外
    { 
        場合(のgetUser()のgetName()。 "crazyit.org"(等しい &&のgetUser()。GETPASS()。等号( "leegang" ))
        { 
            addActionMessage(「登录成功! " );
            返すSUCCESSを。
        } 
        addActionMessage("ログインに失敗しました!!" );
         戻りERROR; 
    } 
}
#UserConverterは変換タイプの完了するために必要なユーザー属性クラスを指定し
、ユーザーを = org.crazyit.app.converter.UserConverter
パッケージorg.crazyit.app.converter; 

輸入java.util.Map;
輸入org.apache.struts2.util.StrutsTypeConverter; 

インポート org.crazyit.app.domain *。;
/ ** 
 *内容:
 * <BR/>网站:<a href=" "> http://www.crazyit.org 疯狂のJava联盟</a>の
 * <BR/>著作権(C)、2001年から2016年、 Yeeku.H.Lee 
 * <BR/>このプログラムは著作権法により保護されています。
 *プログラム名<BR/>:
 * <BR/>日:
 * @author   Yeeku.H.Lee [email protected] 
 * @version   1。
 
 
    型複合の方法に文字列型に変換するために実装
    パブリックオブジェクトConvertFromString(マップコンテキスト
        、文字列[]の値、クラスtoClass)
    { 
        // ユーザーインスタンス作成 
        ユーザーユーザー= 新しい新しいユーザー();
         // 最初の処理要求パラメータ・アレイ配列要素、
         // および二つの文字列の中にコンマ文字列 
        列[] = userValues値[0] .split( "" );
         // ユーザ割り当て例えば 
        user.setName(userValues [0 ]); 
        user.setPass(userValues [ 1 ]);
         // 戻り、ユーザーのインスタンス変換
        戻りユーザー; 
    } 
    // の文字列型複合型変換の実装方法
    公開ConvertToStringストリング(マップコンテキスト、オブジェクトO)
    { 
        // ユーザーインスタンスキャストに変換される値 
        ユーザー=ユーザー(ユーザー)O;
         リターン "<" + user.getName()+ "" 
            + user.getPass( )+ ">" ; 
    } 
}
パッケージorg.crazyit.app.domain; 

/ ** 
 *内容:
 * <BR/>网站:<a href=" "> http://www.crazyit.org 疯狂のJava联盟</a>の
 * <BR/>著作権(C)、2001年から2016年、 Yeeku.H.Lee 
 * <BR/>このプログラムは著作権法により保護されています。
 *プログラム名<BR/>:
 * <BR/>日:
 * @author   Yeeku.H.Lee [email protected] 
 * @version   1.0
  * / 
パブリック クラスユーザー
{ 
    プライベート文字列名;
    プライベート文字列のパス。

    // 名前的セッター和ゲッター方法
    公共 のボイドのsetName(文字列名)
    {
        この .nameの= 名前; 
    } 
    パブリック文字列のgetName()
    { 
        戻り 、この.nameのを、
    } 

    // 的セッター和ゲッター方法通過
    公共 ボイドSETPASS(文字列のパス)
    { 
        この .passを= 渡します。
    } 
    パブリック文字列GETPASS()
    { 
        戻り 、この.passと、
    } 

}

 

おすすめ

転載: www.cnblogs.com/tszr/p/12364851.html