<?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と、 } }