Struts2的配备-1
Struts2的配置-1
Struts要依靠配置信息才能起作用,这里以一个简单例子记录下Struts的配置,例子是用户登录判断。
建立web项目,配置struts2开发能力,建立LoginAction类,该类有属性userName,userPassword及execute方法,建立登陆页面login.jsp登陆成功页面loginSuccess.jsp登录失败页面loginFail.jsp。目录如图所示:
配置的struts.xml文件为下面:
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTDStruts Configuration 2.1//EN" "http://struts.apache.org/dtds/struts-2.1.dtd"> <struts> <packagename="loginResult" abstract="true"extends="struts-default"> <global-results> <resultname="success">/loginSuccess.jsp</result> <resultname="error">/loginFail.jsp</result> </global-results> </package> <packagename="logincode" extends="loginResult"> <actionname="login"class="www.gongqingkui.cn.LoginAction"></action> </package> </struts>
以上程序配置了两个package,其中一个是继承自struts-default的抽象包loginResult,这个包中定义了两个全局result,用来指示跳转页面(全局result常用于指示全局视图,如错误处理、日志信息等)。Logincode包继承了这个抽象包,并且配置了action对象指向具体实现类loginAction。loginAction类中根据传入的userName和userPassword来判定,如果判断正确返回success否则返回error。这两个字符串与loginResult中定义的两个result的name相匹配,故而显示该jsp页面。
需要注意上述action配置,没有method项目,默认是找execute项目,但如果配置了method,如method=save,则系统执行loginAction相应的save方法。同时可以使用login!save.action的方法动态调用LoginAction的方法。
可以配置默认action,在package包下使用default-action-ref来指示一个默认action,这常用来表示尚未建设的功能,其配置方法如下:
<default-action-ref name="underConstruction"></default-action-ref> <action name="underConstruction"> <result>/underConstruction.jsp</result> </action>