上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人
3.1.4 增加应用的Action
在Eclipse工具中新建一个Java类,该Java类的类名为“LoginAction”,其代码与第2章所使用的 LoginAction 类代码相同,将该类文件保存在 Struts2Demo 应用的 org.crazyit.demo. action包下。
新建一个Java文件的方法非常简单,此处不再赘述。本应用的Action类的代码与第2章的Action类完全一样,此处也不再给出。
在struts.xml文件中配置Action,配置该Action与前面介绍的基本一致,需要定义Action的name属性、class属性等。增加Action定义后的struts.xml文件代码如下。
程序清单:codes\03\3.1\Struts2Demo\src\struts.xml
<?xml version="1.0" encoding="GBK" ?> <!-- 指定Struts 2配置文件的DTD信息 --> <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN" "http://struts.apache.org/dtds/struts-2.3.dtd"> <!-- 配置Struts 2配置文件的根元素 --> <struts> <!-- Struts 2的Action必须放在指定的包空间下定义 --> <package name="demo" extends="struts-default"> <!-- 定义login的Action,该Action的实现类为 org.crazyit.demo.action.LoginAction类 --> <action name="login" class="org.crazyit.demo.action.LoginAction"> <!-- 定义input的逻辑视图名,对应loginForm.jsp页面 --> <result name="input">/WEB-INF/content/loginForm.jsp</result> <!-- 定义处理结果和视图资源之间的映射关系 --> <result name="error">/WEB-INF/content/error.jsp</result> <result name="success">/WEB-INF/content/welcome.jsp</result> </action> <action name="*"> <!-- 直接跳转到*所代表的页面 比如用户访问abc Action,此时*代表abc Struts 2将会跳转到abc.jsp页面 --> <result>/WEB-INF/content/{1}.jsp</result> </action> </package> </struts>
至此,整个Struts 2应用完全建立成功,如果读者还需要增加数据校验,则可增加对应的校验文件,并将该文件放在与对应Action源文件相同的路径下即可。