用jdon框架出現的問題 一直不能解決

tangxin901024發表於2010-06-07
最近在學習jdon框架 和jivejdon 試著模仿做一個
註冊功能的時候遇到了個問題 。
就是如果表單的驗證沒有透過的話 ,formbean會出現死迴圈,cpu 使用率達到 90% 。
我的表單驗證的程式碼如下 。

public void doValidate(ActionMapping mapping, HttpServletRequest request,
			List errors) {
				
		if ((getAction() == null) || ModelForm.EDIT_STR.equals(getAction())
				|| ModelForm.CREATE_STR.equals(getAction())) {
			// 註冊
			if (addErrorIfStringEmpty(errors, "使用者名稱不能為空", getUsername()))
					return;
				if (addErrorIfStringEmpty(errors, "密碼不能為空", getPassword()))
					return;
				if (addErrorIfStringEmpty(errors, "確認密碼不能為空", getPassword2()))
					return;
				if (addErrorIfStringEmpty(errors, "性別不能為空", getSex()))
					return;
				if (addErrorIfStringEmpty(errors, "郵箱地址不能為空", getEmail()))
					return;
				if (addErrorIfStringEmpty(errors, "密保問題不能為空", getPasswdtype()))
					return;
				if (addErrorIfStringEmpty(errors, "密保答案不能為空", getPasswdanswer()))
					return;
				if (addErrorIfStringEmpty(errors, "驗證碼不能為空", getRegisterCode()))
					return;
				if (getUsername().trim().length() < 5
						|| getUsername().trim().length() > 16
						|| !UtilValidate.isAlphanumeric(getUsername())) {
					errors.add("使用者名稱由6-15位的字元和數字組成");
					return;
				}
				if (getPassword().trim().length() < 5
						|| getPassword().trim().length() > 16
						|| !UtilValidate.isAlphanumeric(getPassword())) {
					errors.add("密碼由6-15位的字元和數字組成");
					return;
				}
				if (!getPassword().trim().equals(getPassword2().trim())) {
					errors.add("確認密碼和密碼不一致");
					return;
				}
				if (!SkinUtils.verifyRegisterCode(getRegisterCode().trim(),
						request)) {
					errors.add("驗證碼錯誤");
					return;
				}
			}

		

	}
<p class="indent">

不做表單驗證 則可以註冊成功 。 我使用的是 jdon封裝的 struts formbean 繼承了 ModeForm 。

<action name="accountForm" path="/newAccount" 
			type="com.jdon.strutsutil.ModelSaveAction" scope="request" validate="true"
			input="/register.jsp">
			<forward name="success" path="/login.jsp" />
			<forward name="failure" path="/register.jsp" />
</action>
<p class="indent">

求高手解答 。

[該貼被tangxin901024於2010-06-07 16:29修改過]

相關文章