Struts テキストボックスの例
このStrutsテキストボックスの例をダウンロード–Struts-TextBox-Example.zip
このStrutsの例では、Struts<html:text>タグを使用してHTMLテキストボックス入力フィールドを作成する方法、ActionFormを使用してテキストボックスを検証する方法、ActionErrorsを使用してエラーメッセージを表示する方法を学習します。 JSPページのメッセージリソース。
1. フォルダー構造
これは、Mavenによって作成される最終的なプロジェクト構造です。 対応するフォルダーを作成してください。

2. アクションクラス
Actionクラスを作成し、リクエストを転送するだけです。
UserAction.java
package com.example.common.action;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
public class UserAction extends Action{
public ActionForward execute(ActionMapping mapping,ActionForm form,
HttpServletRequest request,HttpServletResponse response)
throws Exception {
return mapping.findForward("success");
}
}
3. プロパティファイル
プロパティファイルを作成し、エラーとラベルメッセージを宣言します。
Common.properties
#common module error message error.common.name.required = Name is required. #common module label message label.common.name = UserName label.common.button.submit = Submit label.common.button.reset = Reset
4. ActionForm
ActionFormを作成し、ユーザー名を受け入れて、validate()メソッドで検証します。 ユーザー名が空の場合は、上記のプロパティファイルからエラーメッセージを取得し、ActionErrorsのキー「common.name.err」として追加します。後でこの名前「common.name.err」を使用して、JSPにエラーメッセージを表示します。 。
UserForm.java
package com.example.common.form;
import javax.servlet.http.HttpServletRequest;
import org.apache.struts.action.ActionErrors;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.action.ActionMessage;
public class UserForm extends ActionForm{
String username;
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
@Override
public ActionErrors validate(ActionMapping mapping,
HttpServletRequest request) {
ActionErrors errors = new ActionErrors();
if( getUsername() == null || ("".equals(getUsername()))) {
errors.add("common.name.err",
new ActionMessage("error.common.name.required"));
}
return errors;
}
@Override
public void reset(ActionMapping mapping, HttpServletRequest request) {
// reset properties
username = "";
}
}
5. JSPページ
StrutsのHTMLタグ<html:text>を使用して、HTMLテキストボックス入力フィールドを作成します。 ラベルメッセージは上記のプロパティファイルで宣言されています。<bean:message key=”label_name” />を介して直接取得できます。
エラーメッセージは2つの方法で表示できます。
-
すべてのエラーメッセージを表示する
-
ActionErrorsで宣言したエラーメッセージキーを指定して、指定したエラーメッセージを表示します。
login.jsp
Struts html:text example
:
テキストボックスの入力を表示します。
welcome.jsp
Welcome
6. struts-config.xml
Struts構成ファイルを作成し、すべて一緒にリンクします。
アクションタグの属性:
-
path =アクセスするWebパス
-
タイプ=アクションクラス
-
名前=アクションフォーム
-
validate = trueを指定すると、ActionFormはフォーム検証のためにvalidate()メソッドを実行します
-
入力=検証が偽の場合、どこに転送しますか?
Strutsにカスタムリソースメッセージを認識させるには、プロパティファイルをstruts-config.xmlファイルに含める必要があります。
7. web.xml
最後のステップでは、Strutフレームワーク統合用のweb.xmlを作成します。
Maven Struts Examples action org.apache.struts.action.ActionServlet config /WEB-INF/struts-config.xml 1 action *.do
アクセスする

ユーザーがテキストボックスに入力せずに送信ボタンを押しなかった場合、エラーメッセージが表示されます。

ユーザーがテキストボックスに入力し、送信ボタンを押した場合。

テキストボックスの入力値をウェルカムページに渡し、表示します。
