|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
你总不能说你写框架吧,那无疑会加大工作量,现在大多企业采取的是折中的办法,就是改别人写好的框架,可要改框架,前提是你对这个框架足够的了解,这就更难了。
我们晓得,Struts2完成参数传送处置事情的基本是OGNL和ValueStack。而在这个过程当中,我也把Struts2所要做的事情大抵归结为两个方面:
1.对OGNL操纵举行封装,完成OGNL表达式所暗示的值到Java对象的值传送机制
2.在参数传送的过程当中,做得当的范例转化,包管页面上的字符串可以转化成形形色色的Java对象
接上去,经由过程四个分歧的角度,来详细报告Struts2在这两个方面的事情。
目录[-]
最复杂的参数传送
Array、List、Map等容器范例的参数传送
文件上传
自界说的范例转化完成
最复杂的参数传送
publicclassEnumTypeConverterextendsDefaultTypeConverter{
/**
*Convertsthegivenobjecttoagiventype.HowthisistobedoneisimplementedintoClass.TheOGNLcontext,o
*andtoClassaregiven.Thismethodshouldbeabletohandleconversioningeneralwithoutanycontextorobject
*specified.
*
*@paramcontext-OGNLcontextunderwhichtheconversionisbeingdone
*@paramo -theobjecttobeconverted
*@paramtoClass-theclassthatcontainsthecodetoconverttoenumeration
*@returnConvertedvalueoftypedeclaredintoClassorTypeConverter.NoConversionPossibletoindicatethatthe
* conversionwasnotpossible.
*/
publicObjectconvertValue(Mapcontext,Objecto,ClasstoClass){
if(oinstanceofString[]){
returnconvertFromString(((String[])o)[0],toClass);
}elseif(oinstanceofString){
returnconvertFromString((String)o,toClass);
}
returnsuper.convertValue(context,o,toClass);
}
/**
*ConvertsoneormoreStringvaluestothespecifiedclass.
*@paramvalue-theStringvaluestobeconverted,suchasthosesubmittedfromanHTMLform
*@paramtoClass-theclasstoconvertto
*@returntheconvertedobject
*/
publicjava.lang.EnumconvertFromString(Stringvalue,ClasstoClass){
returnEnum.valueOf(toClass,value);
}
}
<p>
再说第三点:我并没有提到服务器也要整合,然后是IDE,一个好的IDE能够200%提高开发的速度,就说图形方面:你是经过简单托拽和点击就能实现功能好那。 |
|