我想在Struts中創建一個登錄頁面。這個想法是驗證用戶是否存在,等等,然後如果有錯誤,返回紅色錯誤(典型的登錄或任何表單頁面驗證)的登錄頁面。<html:errors> struts教程或例子
我想知道是否有人知道Struts中的錯誤管理教程。我正在尋找一個教程(或例子)
<html:errors>
標籤,我認爲這將解決我的問題。
我想在Struts中創建一個登錄頁面。這個想法是驗證用戶是否存在,等等,然後如果有錯誤,返回紅色錯誤(典型的登錄或任何表單頁面驗證)的登錄頁面。<html:errors> struts教程或例子
我想知道是否有人知道Struts中的錯誤管理教程。我正在尋找一個教程(或例子)
<html:errors>
標籤,我認爲這將解決我的問題。
這是一個快速總結。你有一個ActionForm
類,說MyForm
:
<form-bean name="myForm" type="myapp.forms.MyForm"/>
你有一個Action
類,說MyAction
:
<action path="/insert" type="myapp.actions.MyAction" name="myForm"
input="/insert.jsp" validate="true" />
<forward name="success" path="/insertDone.jsp"/>
</action>
「名」 的行爲是指形式豆 「名」。因爲你有你的validate="true"
ActionForm
MyForm
類必須定義validate()
方法,它會自動被調用:
public ActionErrors validate(ActionMapping mapping, HttpServletRequest request) {
ActionErrors errors = new ActionErrors();
if ((username==null) || (username.length() < 1))
errors.add("username", new ActionError("error.username.required"));
return errors;
}
如果它返回一個空的ActionErrors對象,Struts的推移打電話給你MyAction.execute()。否則,Struts將顯示/insert.jsp(因爲這是您輸入的參數= parm)並擴展了html.errors標記以顯示ActionErrors中的錯誤。
這裏有一個: //struts.apache.org/1.3.5/struts-taglib/apidocs/org/apache/struts/taglib/html/package-summary.html#package_description
這裏我米假設的Struts 1。我不知道,如果它已經改變了對Struts 2
你可以把一個errors.header和errors.footer到您的信息資源文件:
errors.header=<h3><font color="red">Errors:</font></h3><ul>
errors.footer=</ul>
頁眉和頁腳僅當ActionErrors對象中有任何錯誤時才顯示。返回前
ActionErrors errors = new ActionErrors();
if (badInput) {
errors.add(ActionErrors.GLOBAL_ERROR,
new ActionError("error.bad.input", badString); // key in messages resource file
// badString will replace {0} in message
}
然後:
在你的Action類,這樣做
saveErrors(request, errors);
在您的信息資源文件:
error.bad.input=<li>Bad input: '{0}' is invalid.</li>
現在,當被處理的<html:errors/>
標籤,它會變成:
<h3><font color="red">Errors:</font></h3><ul>
<li>Bad input: 'xxyyzzz' is invalid.<li>
</ul>
這當然是一個豐富多彩的答案,不是嗎?我還沒有掌握格式如何在這裏工作。 – 2009-06-02 03:24:22
非常感謝您的回答!我仍然試圖驗證(在你的sugestiongs之後,他們真的很棒!我需要這樣的東西,都在同一個地方解釋過),我會告訴你它何時有效! ;) – Tere 2009-06-04 02:13:23