一、学习案例:通过在loginUI.jsp页面输入登录账号,成功则跳转到success.jsp,错误则跳转到error.jsp页面。
二、案例分析:struts2文件下载只需简单配置即可。
a)在下载的struts下lib包中找到struts2-convention-plugin-2.3.15.3.jar,asm-3.3.jar,asm-commons-3.3.jar丢到项目lib文件夹中。Struts提供的支持注解的包。
b)创建loginUI.jsp页面,填写账号,密码即可。
c)创建success.jsp页面显示“注册成功”即可。
d)创建error.jsp页面显示“注册失败”即可。
e)创建LoginAction.java。使用注解进行配置。
@ParentPackage("struts-default") @Action(value="login", results= { @Result(name="success", location="/success.jsp"), @Result(name="input", location="/error.jsp") } )
f)我们可以查看struts2-convention-plugin-2.3.15.3.jar下的org.apache.struts2.convention.annotation包中类,通过类名我们可以发现跟struts.xml中的标签基本都是一一对应的。
g)关于《Struts2之struts2文件下载详解》中留下的小问题。在文件下载一章中我们讲了发现问题,以及解决问题的思路。我没有明说会给大家留问题,呵呵。那么今天我想问谁发现“中文乱码”这个问题了呢。想发现这个问题首先你得动态生成下载文件名称,而不是再在struts.xml中直接配置。首先在action中生成一个成员变量,然后再在配置下载文件名称的地方:attachment;filename=”${成员变量}”。这样下载的文件名称如果是中文就会出现乱码,解决方法就是在为成员变量赋值后,接着就转码。例如:成员变量=new String(成员变量.getBytes(“gbk”), “8859_1” );即可。如果没有考虑到这一问题的朋友是不是该反省下了。
三、经验之谈:
a)大家有时候是不是喜欢在自己的项目中使用新特性的东西,比如struts2中,大家都用struts.xml配置action,自己就喜欢反常态使用注解,显得自己多牛叉什么的。其实,我并不是说注解不好,也不是否定什么,我也没那么大的能耐。Struts.xml能实现的功能,注解都能实现,但是后期管理就会很麻烦。可以说注解只是为了适应行业发展添加的鸡肋,你不能说spring有注解,struts就没有。我想说的就是这个意思。看明白看不明白的只要记住了解就行。真实项目中我们还是以struts.xml为主。如果实在按不住想使用新鲜东西的冲动,等到spring,让你用个够。注解在spring中才是主流。
b)在我们这一struts版本中使用注解必须添加asm-3.3.jar,asm-commons-3.3.jar两个jar包,不然会抛类找不到异常,2.2.1.1是不用添加的。其他版本没有测试,还不知道。
四、参考项目:http://download.csdn.net/detail/u011638419/8226523
五、每日一乐:
儿子昨天放学回来跟他妈说:“我现在终于知道老爸生我下来是做什么用了,
就是用来打的。”
最终解释权归爱尚合伙人(www.23hhr.com)所有,转载请注明出处。