📄 在struts 2_0中实现表单数据校验(validation) - max on java - blogjava.mht
字号:
align=3Dtop><BR><IMG=20
src=3D"http://www.blogjava.net/Images/OutliningIndicators/None.gif"=20
align=3Dtop></SPAN> <SPAN style=3D"COLOR: #0000ff">import</SPAN> <SPAN=20
style=3D"COLOR: #000000">java.util.Locale;<BR><IMG=20
src=3D"http://www.blogjava.net/Images/OutliningIndicators/None.gif"=20
align=3Dtop></SPAN> <SPAN style=3D"COLOR: #0000ff">import</SPAN> <SPAN=20
style=3D"COLOR: #000000">java.util.Map;<BR><IMG=20
src=3D"http://www.blogjava.net/Images/OutliningIndicators/None.gif"=20
align=3Dtop></SPAN> <SPAN style=3D"COLOR: #0000ff">import</SPAN> <SPAN=20
style=3D"COLOR: #000000">java.util.regex.Pattern;<BR><IMG=20
src=3D"http://www.blogjava.net/Images/OutliningIndicators/None.gif"=20
align=3Dtop><BR><IMG id=3DCodehighlighter1_162_627_Open_Image=20
onclick=3D"this.style.display=3D'none'; =
Codehighlighter1_162_627_Open_Text.style.display=3D'none'; =
Codehighlighter1_162_627_Closed_Image.style.display=3D'inline'; =
Codehighlighter1_162_627_Closed_Text.style.display=3D'inline';"=20
src=3D"http://www.blogjava.net/Images/OutliningIndicators/ExpandedBlockSt=
art.gif"=20
align=3Dtop><IMG id=3DCodehighlighter1_162_627_Closed_Image =
style=3D"DISPLAY: none"=20
onclick=3D"this.style.display=3D'none'; =
Codehighlighter1_162_627_Closed_Text.style.display=3D'none'; =
Codehighlighter1_162_627_Open_Image.style.display=3D'inline'; =
Codehighlighter1_162_627_Open_Text.style.display=3D'inline';"=20
src=3D"http://www.blogjava.net/Images/OutliningIndicators/ContractedBlock=
.gif"=20
align=3Dtop></SPAN> <SPAN style=3D"COLOR: #0000ff">public</SPAN> <SPAN=20
style=3D"COLOR: #000000"></SPAN><SPAN style=3D"COLOR: =
#0000ff">class</SPAN> <SPAN=20
style=3D"COLOR: #000000">LocaleConverter </SPAN><SPAN=20
style=3D"COLOR: #0000ff">extends</SPAN> <SPAN=20
style=3D"COLOR: #000000">ognl.DefaultTypeConverter </SPAN><SPAN=20
id=3DCodehighlighter1_162_627_Closed_Text=20
style=3D"BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; =
DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 =
1px solid; BACKGROUND-COLOR: #ffffff"><IMG=20
src=3D"http://www.blogjava.net/Images/dot.gif"> </SPAN><SPAN=20
id=3DCodehighlighter1_162_627_Open_Text><SPAN style=3D"COLOR: =
#000000">{<BR><IMG=20
src=3D"http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" =
align=3Dtop>=20
@Override<BR><IMG id=3DCodehighlighter1_244_625_Open_Image=20
onclick=3D"this.style.display=3D'none'; =
Codehighlighter1_244_625_Open_Text.style.display=3D'none'; =
Codehighlighter1_244_625_Closed_Image.style.display=3D'inline'; =
Codehighlighter1_244_625_Closed_Text.style.display=3D'inline';"=20
src=3D"http://www.blogjava.net/Images/OutliningIndicators/ExpandedSubBloc=
kStart.gif"=20
align=3Dtop><IMG id=3DCodehighlighter1_244_625_Closed_Image =
style=3D"DISPLAY: none"=20
onclick=3D"this.style.display=3D'none'; =
Codehighlighter1_244_625_Closed_Text.style.display=3D'none'; =
Codehighlighter1_244_625_Open_Image.style.display=3D'inline'; =
Codehighlighter1_244_625_Open_Text.style.display=3D'inline';"=20
src=3D"http://www.blogjava.net/Images/OutliningIndicators/ContractedSubBl=
ock.gif"=20
align=3Dtop> </SPAN> <SPAN style=3D"COLOR: =
#0000ff">public</SPAN> <SPAN=20
style=3D"COLOR: #000000">Object convertValue(Map context, Object value, =
Class=20
toType) </SPAN><SPAN id=3DCodehighlighter1_244_625_Closed_Text=20
style=3D"BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; =
DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 =
1px solid; BACKGROUND-COLOR: #ffffff"><IMG=20
src=3D"http://www.blogjava.net/Images/dot.gif"> </SPAN><SPAN=20
id=3DCodehighlighter1_244_625_Open_Text><SPAN style=3D"COLOR: =
#000000">{<BR><IMG=20
id=3DCodehighlighter1_275_448_Open_Image=20
onclick=3D"this.style.display=3D'none'; =
Codehighlighter1_275_448_Open_Text.style.display=3D'none'; =
Codehighlighter1_275_448_Closed_Image.style.display=3D'inline'; =
Codehighlighter1_275_448_Closed_Text.style.display=3D'inline';"=20
src=3D"http://www.blogjava.net/Images/OutliningIndicators/ExpandedSubBloc=
kStart.gif"=20
align=3Dtop><IMG id=3DCodehighlighter1_275_448_Closed_Image =
style=3D"DISPLAY: none"=20
onclick=3D"this.style.display=3D'none'; =
Codehighlighter1_275_448_Closed_Text.style.display=3D'none'; =
Codehighlighter1_275_448_Open_Image.style.display=3D'inline'; =
Codehighlighter1_275_448_Open_Text.style.display=3D'inline';"=20
src=3D"http://www.blogjava.net/Images/OutliningIndicators/ContractedSubBl=
ock.gif"=20
align=3Dtop> </SPAN> <SPAN=20
style=3D"COLOR: #0000ff">if</SPAN> <SPAN style=3D"COLOR: =
#000000">(toType=20
</SPAN><SPAN style=3D"COLOR: #000000">=3D=3D</SPAN> <SPAN=20
style=3D"COLOR: #000000">Locale.</SPAN> <SPAN style=3D"COLOR: =
#0000ff">class</SPAN>=20
<SPAN style=3D"COLOR: #000000">) </SPAN><SPAN=20
id=3DCodehighlighter1_275_448_Closed_Text=20
style=3D"BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; =
DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 =
1px solid; BACKGROUND-COLOR: #ffffff"><IMG=20
src=3D"http://www.blogjava.net/Images/dot.gif"> </SPAN><SPAN=20
id=3DCodehighlighter1_275_448_Open_Text><SPAN style=3D"COLOR: #000000">{ =
=20
<BR><IMG=20
src=3D"http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" =
align=3Dtop>=20
System.out.println(</SPAN> =
<SPAN=20
style=3D"COLOR: #000000">"</SPAN> <SPAN style=3D"COLOR: =
#000000">Converting String=20
to Locale<IMG src=3D"http://www.blogjava.net/Images/dot.gif"></SPAN> =
<SPAN=20
style=3D"COLOR: #000000">"</SPAN> <SPAN style=3D"COLOR: =
#000000">);<BR><IMG=20
src=3D"http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" =
align=3Dtop>=20
String locale </SPAN><SPAN=20
style=3D"COLOR: #000000">=3D</SPAN> <SPAN style=3D"COLOR: =
#000000">((String[])=20
value)[</SPAN> <SPAN style=3D"COLOR: #000000">0</SPAN> <SPAN=20
style=3D"COLOR: #000000">];<BR><IMG=20
src=3D"http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" =
align=3Dtop>=20
</SPAN> <SPAN=20
style=3D"COLOR: #0000ff">return</SPAN> <SPAN style=3D"COLOR: =
#000000"></SPAN><SPAN=20
style=3D"COLOR: #0000ff">new</SPAN> <SPAN=20
style=3D"COLOR: #000000">Locale(locale.substring(</SPAN> <SPAN=20
style=3D"COLOR: #000000">0</SPAN> <SPAN style=3D"COLOR: #000000">, =
</SPAN><SPAN=20
style=3D"COLOR: #000000">2</SPAN> <SPAN style=3D"COLOR: #000000">),=20
locale.substring(</SPAN> <SPAN style=3D"COLOR: #000000">3</SPAN> <SPAN=20
style=3D"COLOR: #000000">));<BR><IMG =
id=3DCodehighlighter1_482_607_Open_Image=20
onclick=3D"this.style.display=3D'none'; =
Codehighlighter1_482_607_Open_Text.style.display=3D'none'; =
Codehighlighter1_482_607_Closed_Image.style.display=3D'inline'; =
Codehighlighter1_482_607_Closed_Text.style.display=3D'inline';"=20
src=3D"http://www.blogjava.net/Images/OutliningIndicators/ExpandedSubBloc=
kStart.gif"=20
align=3Dtop><IMG id=3DCodehighlighter1_482_607_Closed_Image =
style=3D"DISPLAY: none"=20
onclick=3D"this.style.display=3D'none'; =
Codehighlighter1_482_607_Closed_Text.style.display=3D'none'; =
Codehighlighter1_482_607_Open_Image.style.display=3D'inline'; =
Codehighlighter1_482_607_Open_Text.style.display=3D'inline';"=20
src=3D"http://www.blogjava.net/Images/OutliningIndicators/ContractedSubBl=
ock.gif"=20
align=3Dtop> }</SPAN> </SPAN><SPAN=20
style=3D"COLOR: #000000"></SPAN><SPAN style=3D"COLOR: =
#0000ff">else</SPAN> <SPAN=20
style=3D"COLOR: #000000"></SPAN><SPAN style=3D"COLOR: #0000ff">if</SPAN> =
<SPAN=20
style=3D"COLOR: #000000">(toType </SPAN><SPAN style=3D"COLOR: =
#000000">=3D=3D</SPAN>=20
<SPAN style=3D"COLOR: #000000">String.</SPAN> <SPAN=20
style=3D"COLOR: #0000ff">class</SPAN> <SPAN style=3D"COLOR: #000000">) =
</SPAN><SPAN=20
id=3DCodehighlighter1_482_607_Closed_Text=20
style=3D"BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; =
DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 =
1px solid; BACKGROUND-COLOR: #ffffff"><IMG=20
src=3D"http://www.blogjava.net/Images/dot.gif"> </SPAN><SPAN=20
id=3DCodehighlighter1_482_607_Open_Text><SPAN style=3D"COLOR: =
#000000">{<BR><IMG=20
src=3D"http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" =
align=3Dtop>=20
System.out.println(</SPAN> =
<SPAN=20
style=3D"COLOR: #000000">"</SPAN> <SPAN style=3D"COLOR: =
#000000">Converting Locale=20
to String<IMG src=3D"http://www.blogjava.net/Images/dot.gif"></SPAN> =
<SPAN=20
style=3D"COLOR: #000000">"</SPAN> <SPAN style=3D"COLOR: =
#000000">);<BR><IMG=20
src=3D"http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" =
align=3Dtop>=20
Locale locale </SPAN><SPAN=20
style=3D"COLOR: #000000">=3D</SPAN> <SPAN style=3D"COLOR: =
#000000">(Locale)=20
value;<BR><IMG=20
src=3D"http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" =
align=3Dtop>=20
</SPAN> <SPAN=20
style=3D"COLOR: #0000ff">return</SPAN> <SPAN=20
style=3D"COLOR: #000000">locale.toString();<BR><IMG=20
src=3D"http://www.blogjava.net/Images/OutliningIndicators/ExpandedSubBloc=
kEnd.gif"=20
align=3Dtop> }</SPAN> </SPAN><SPAN=20
style=3D"COLOR: #000000"><BR><IMG=20
src=3D"http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" =
align=3Dtop>=20
</SPAN> <SPAN style=3D"COLOR: =
#0000ff">return</SPAN>=20
<SPAN style=3D"COLOR: #000000"></SPAN><SPAN style=3D"COLOR: =
#0000ff">null</SPAN>=20
<SPAN style=3D"COLOR: #000000">;<BR><IMG=20
src=3D"http://www.blogjava.net/Images/OutliningIndicators/ExpandedSubBloc=
kEnd.gif"=20
align=3Dtop> }</SPAN> </SPAN><SPAN style=3D"COLOR: =
#000000"><BR><IMG=20
src=3D"http://www.blogjava.net/Images/OutliningIndicators/ExpandedBlockEn=
d.gif"=20
align=3Dtop>}</SPAN> </SPAN></DIV>
<P>=E4=B9=8B=E5=90=8E=EF=BC=8C=E4=BF=AE=E6=94=B9=E5=9B=BD=E9=99=85=E5=8C=96=
=E8=B5=84=E6=BA=90=E6=96=87=E4=BB=B6=EF=BC=8C=E5=86=85=E5=AE=B9=E4=B8=BA=EF=
=BC=9A</P>
<DIV=20
style=3D"BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; =
BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; =
PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; =
WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px =
solid; BACKGROUND-COLOR: #eeeeee"><SPAN=20
style=3D"COLOR: #000000">HelloWorld</SPAN> <SPAN style=3D"COLOR: =
#000000">=3D</SPAN>=20
<SPAN style=3D"COLOR: =
#000000">=E4=BD=A0=E5=A5=BD=EF=BC=8C=E4=B8=96=E7=95=8C=EF=BC=81<BR>invali=
d.fieldvalue.loc</SPAN> <SPAN=20
style=3D"COLOR: #000000">=3D</SPAN> <SPAN style=3D"COLOR: =
#000000">Locale=E5=BF=85=E9=A1=BB=E4=B8=BA\</SPAN>=20
<SPAN style=3D"COLOR: #000000">"</SPAN> <SPAN style=3D"COLOR: =
#000000">xx_XX\</SPAN>=20
<SPAN style=3D"COLOR: #000000">"</SPAN> <SPAN=20
style=3D"COLOR: =
#000000">=E7=9A=84=E6=A0=BC=E5=BC=8F<BR>validation.loc</SPAN> <SPAN=20
style=3D"COLOR: #000000">=3D</SPAN> <SPAN style=3D"COLOR: =
#000000">=E5=8C=BA=E5=9F=9F=E5=BF=85=E9=A1=BB=E4=B8=BA=E4=B8=AD=E5=9B=BD=E6=
=88=96=E7=BE=8E=E5=9B=BD</SPAN>=20
</DIV><SPAN=20
style=3D"FONT-SIZE: smaller; FONT-STYLE: =
italic">globalMessages_zh_CN.properties</SPAN>=20
<BR><BR>
<DIV=20
style=3D"BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; =
BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; =
PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; =
WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px =
solid; BACKGROUND-COLOR: #eeeeee"><SPAN=20
style=3D"COLOR: #000000">HelloWorld</SPAN> <SPAN style=3D"COLOR: =
#000000">=3D</SPAN>=20
<SPAN style=3D"COLOR: #000000">Hello =
World!<BR>invalid.fieldvalue.loc</SPAN> <SPAN=20
style=3D"COLOR: #000000">=3D</SPAN> <SPAN style=3D"COLOR: =
#000000">Locale must like=20
\</SPAN> <SPAN style=3D"COLOR: #000000">"</SPAN> <SPAN=20
style=3D"COLOR: #000000">xx_XX\</SPAN> <SPAN style=3D"COLOR: =
#000000">"</SPAN> <SPAN=20
style=3D"COLOR: #000000"><BR>validation.loc</SPAN> <SPAN=20
style=3D"COLOR: #000000">=3D</SPAN> <SPAN style=3D"COLOR: =
#000000">Locale must be=20
China or USA</SPAN> </DIV><SPAN=20
style=3D"FONT-SIZE: smaller; FONT-STYLE: =
italic">globalMessages_en_US.properties</SPAN>=20
<P>=E5=8F=91=E5=B8=83=E8=BF=90=E8=A1=8C=E5=BA=94=E7=94=A8=E7=A8=8B=E5=BA=8F=
=EF=BC=8C=E5=9C=A8=E6=B5=8F=E8=A7=88=E5=99=A8=E4=B8=AD=E9=94=AE=E5=85=A5<=
A=20
href=3D"http://localhost:8080/Struts2_Validation/HelloWorld.action">http:=
//localhost:8080/Struts2_Validation/HelloWorld.action</A>=EF=BC=8C=E5=9C=A8=
Locale=E4=B8=AD=E8=BE=93=E5=85=A5zh<SPAN=20
style=3D"FONT-SIZE: 13px; BACKGROUND-COLOR: =
#eeeeee">_CN</SPAN>=EF=BC=8C=E6=8C=89=E2=80=9CSubmit=E2=80=9D=E6=8F=90=E4=
=BA=A4=EF=BC=8C=E6=95=88=E6=9E=9C=E5=A6=82=E4=B8=8A=E7=AF=87=E6=96=87=E7=AB=
=A0=E6=89=80=E7=A4=BA=E3=80=82=E8=80=8C=E5=9C=A8=E6=9C=8D=E5=8A=A1=E5=99=A8=
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -