有日子没用Struts了 近期公司项目需要改版需要使用Struts2,哎 Struts都很久没用了现在直接用Struts2 网上查了一下相关的书籍有本名叫《Struts权威指南》可惜只有前三章 这下可难为我了.......
废话少说直接 http://www.apache.org/ --> http://struts.apache.org/ 下载个struts-2.1.2-all.zip 貌似不小90多MB~~~解压后apps文件夹下有4个例子~我说怎么这么大呢~直接从第一个开始入手学习把.
大致看了一下struts2-blank 这个算是4个中最基础的一个实例
学习点:1 了解struts2的配置
2 Struts2的表单以及表单验证
2 Struts2的本地化输出
结构目录:
这里包括2个小例子 一个是首页进入的本地化输出 另一个是example下Welcome.jsp进入的登陆程序
Struts.xml 将example.xml包含 因当工程变大时,一个庞大的struts2的配置极难维护所以分开配置文件.
Web.xml中同Struts1一样 需要加入过滤器。
先从登陆开始下手,Welcome.jsp和Login.jsp 这里需要主要的是s:url 这个东西是根据配置文件自动生成URL路径的。该页面主要用到该标签的两个属性,分别为value和action,其中action属性表示用action来产生url,而value表示使用的目标值。在页面上点击“查看源文件”按钮,可看到生成的语句。由此可知使用该标签时,struts2会自动带上下文路径,对于加了属性action的<s:url>标签,后面会自动带上“.action”作为后缀。
下面来看example.xml的配置
<package name="example" namespace="/example" extends="struts-default">
<action name="Login_input" class="example.Login">
<result name="input">/example/Login.jsp</result>//作用同Struts1中forward
<result type="redirect-action">Menu</result>//此处Type类型可定义跳转或转发 默认为转发
</action>
<!-- struts2配置文件中通配符的使用,将未定义的action的引用都定向到example.ExampleSupport这个Action中需定向的Action的名字传到{1}中,若请求Register这个action,当ExampleSupport返回success时,跳转到/example/Register.jsp -->
<action name="*" class="example.ExampleSupport">
<result>/example/{1}.jsp</result>
</action>
</package>
Login-validation.xml 与 Login 中的验证方法 作用相同可取其一,试删除Login execute方法中两个IF或删除Login-validation.xml文件 都可以达到验证的效果 这里需要注意的是validation文件的名称前部分要和Action名相同,使用validation验证 如果没有通过验证是不会执行Login中execute方法的。
Messing.jsp 用于显示提示信息 这里需要主要的是Menu.jsp与Register.jsp都包含了它.
对于用户登陆验证这个小实例需要注意以下几点:
<li><a href="<s:url value="Login_input"/>">Sign On</a></li>//这里的两个跳转会触发通配符
<li><a href="<s:url action="Register"/>">Register</a></li>//这里的生成跳转路径为/example/Register.jsp
<action name="Login_*" method="{1}" class="example.Login">
<result name="input">/example/Login.jsp</result>//首次进入以及验证不通过的显示页面
<result type="redirect-action">Menu</result>//验证通过后跳转的页面 注意Menu同样会通配为JSP
</action>
先写这么多 以后有时间再研究~~~~
原文链接: http://www.dlog.cn/nicholascoder/diary/45161360