Struts 2 ActionError&ActionMessageの例
ダウンロードする – リンク://wp-content/uploads/2010/06/Struts2-ActionError-ActionMessage-Example.zip[Struts2-ActionError-ActionMessage-Example.zip]
Struts 2の
ActionError
および
ActionMessage
クラスの使用法を示すチュートリアル。
{空} 1。
ActionError
– エラーフィードバックメッセージを
<s:actionerror/>
を介してユーザに送信するために使用されます。
<s:if test="hasActionErrors()"> <div class="errors"> <s:actionerror/> </div> </s:if>
{空} 2。
ActionMessage
– ユーザーに情報フィードバックメッセージを送信するために使用され、
<s:actionmessage/>
を介して表示されます。
<s:if test="hasActionMessages()"> <div class="welcome"> <s:actionmessage/> </div> </s:if>
単純なログインフォームですが、ユーザ名が “mkyong”でない場合はエラーメッセージ(actionerror)を表示し、そうでない場合は別のページにリダイレクトして、ウェルカムメッセージ(actionmessage)を表示します。さらに、すべてのラベルおよびエラー・メッセージは、リソース・バンドル(プロパティー・ファイル)から検索されます。
1.フォルダ構造
このプロジェクトの構造を見る
2.プロパティファイル
メッセージを格納する2つのプロパティファイル。
#Welcome messages welcome.hello = Hello #error message username.required = Username is required password.required = Password is required
-
global.properties **
#Global messages global.username = Username global.password = Password global.submit = Submit global.reset = Reset
3.アクション
古典的なアクションクラスでは、ユーザー名が “mkyong”であることを確認する単純なチェックを行い、エラーメッセージを
addActionError()
または
addActionMessage()
で成功したメッセージに設定します。
package com.mkyong.user.action; import com.opensymphony.xwork2.ActionSupport; public class LoginAction extends ActionSupport{ private String username; private String password; public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } public String getUsername() { return username; } public void setUsername(String username) { this.username = username; } //business logic public String execute() { return "SUCCESS"; } //simple validation public void validate(){ if("mkyong".equals(getUsername())){ addActionMessage("You are valid user!"); }else{ addActionError("I don't know you, dont try to hack me!"); } } }
4. JSPビュー
エラーメッセージをカスタマイズするCSSスタイルの2つの単純なJSPページ。
-
login.jsp **
<%@ page contentType="text/html; charset=UTF-8" %> <%@ taglib prefix="s" uri="/struts-tags" %> <html> <head> <style type="text/css"> .errors { background-color:#FFCCCC; border:1px solid #CC0000; width:400px; margin-bottom:8px; } .errors li{ list-style: none; } </style> </head> <body> <h1>Struts 2 ActionError & ActionMessage Example</h1> <s:if test="hasActionErrors()"> <div class="errors"> <s:actionerror/> </div> </s:if> <s:form action="validateUser"> <s:textfield key="global.username" name="username"/> <s:password key="global.password" name="password"/> <s:submit key="global.submit" name="submit"/> </s:form> </body> </html>
-
welcome.jsp **
<%@ page contentType="text/html; charset=UTF-8" %> <%@ taglib prefix="s" uri="/struts-tags" %> <html> <head> <style type="text/css"> .welcome { background-color:#DDFFDD; border:1px solid #009900; width:200px; } .welcome li{ list-style: none; } </style> </head> <body> <h1>Struts 2 Struts 2 ActionError & ActionMessage Example</h1> <s:if test="hasActionMessages()"> <div class="welcome"> <s:actionmessage/> </div> </s:if> <h2> <s:property value="getText('welcome.hello')"/> : <s:property value="username"/> </h2> </body> </html>
5. 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.custom.i18n.resources" value="global"/> <package name="user" namespace="/user" extends="struts-default"> <action name="login"> <result>pages/login.jsp</result> </action> <action name="validateUser" class="com.mkyong.user.action.LoginAction"> <result name="SUCCESS">pages/welcome.jsp</result> <result name="input">pages/login.jsp</result> </action> </package> </struts>
Struts 2では、ActionErrorの機能と使用法
6.それを実行する
ユーザー名が無効です。<s:actionerror/>でエラーメッセージを表示してください
ユーザー名は有効です、ウェルカムメッセージを表示します<s:actionmessage/>
リファレンス
ドキュメンテーション]