至此,我們還有一些問題還沒有澄清。首先,用戶不能清除名字區域;而且如果用戶在“age”區域鍵入一個不對的內容(不是一個效果的整型數值),Java異常錯誤就會發生。 <%! boolean haveError; StringBuffer errors;
String value, Exception ex ) { haveError = true; if ( errors == null ) errors = new StringBuffer(); else errors.append( "<P>" ); errors.append( "<P>Value for field \"" + field + "\" is invalid." ); if ( ex instanceof java.lang.NumberFormatException ) errors.append( " The value must be a number." ); } %> <% // Variables must be initialized outside declaration! haveError = false; errors = null; %> --------------- <BODY> <jsp:useBean id="user" class="UserData" scope="session"/> <blx:setProperty name="user" property="*" onError="errorHandler"/> <% if ( haveError ) { out.println( errors.toString()); pageContext.include( "GetName.jsp" ); } else pageContext.forward( "NextPage.jsp" ); %> </BODY> </HTML> 這里要注意haveError和errors必須每次都重新初始化,因為它們在聲明的外部被初始化。 現在,如果一個錯誤發生在blx:setProperty處理的過程,我們就顯示這個錯誤并再次回到GetName.jsp以使用戶可以校正這個錯誤。如果沒有錯誤發生,我們就自動讓用戶連接到NextPage.jsp。 |
溫馨提示:喜歡本站的話,請收藏一下本站!