JSP由浅入深(11-2)

没有生命的海

没有生命的海

2016-01-29 12:39

JSP由浅入深(11-2),JSP由浅入深(11-2)
  至此,我们还有一些问题还没有澄清。首先,用户不能清除名字区域;而且如果用户在“age”区域键入一个不对的内容(不是一个效果的整型数值),Java异常错误就会发生。
  现在,我们将使用Blazix标志库中的其它标志来解决这个问题。Blazie提供了一个blx:setProperty标志来解决这个问题。Blx:setProperty允许我们定义一个异常错误处理方法。如果有异常错误发生,我们可以为用户收集一个错误信息并且继续处理。
  下面是我们修改后的SaveName.jsp,它可以处理任何错误。它不仅可以显示GetName.jsp并且在其上可以键入正确的数据,而且自动地连接到NextPage.jsp:

<%@ taglib prefix="blx" uri="/blx.tld" %

<%!


boolean haveError;


StringBuffer errors;




public void errorHandler( String field,


String value,


Exception ex )


{


haveError = true;


if ( errors == null )


errors = new StringBuffer();


else

(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/java/)

errors.append( "<P" );


errors.append( "<PValue for field "" +


field + "" is invalid." );


if ( ex instanceof java.lang.NumberFormatException )


errors.append( " The value must be a number." );

(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/java/)

}


%


<%


// 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。
展开更多 50%)
分享

猜你喜欢

JSP由浅入深(11-2)

Java JAVA基础
JSP由浅入深(11-2)

JSP由浅入深(11)—— 标记库

Java JAVA基础
JSP由浅入深(11)—— 标记库

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

JSP由浅入深(11-1)

Java JAVA基础
JSP由浅入深(11-1)

JSP由浅入深(11-3)

Java JAVA基础
JSP由浅入深(11-3)

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

JSP由浅入深(2)

Java JAVA基础
JSP由浅入深(2)

JSP由浅入深(10-2)

Java JAVA基础
JSP由浅入深(10-2)

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

动态网页巧制作

动态网页巧制作

JSP由浅入深(4-3)

JSP由浅入深(4-3)
下拉加载更多内容 ↓