一、构建struts2的基本包有:
commons-fileupload-...jar
commons-logging.jar
freemarker.jar
ognl-2.7.3.jar
struts2-config-browser-plugin.jar
struts2-core-2.1.8.1.jar
xwork-core-2.1.6.jar
二、构建Struts2.X应用:
1.导入commons-logging.jar,freemarker.jar,ognl.jar,struts2-core.jar,xwork.jar这些struts2的基本包
2.修改WEB-INF下的web.xml文件,添加
3.在src根目录下建立struts.xml文件,内容:
4.添加控制器类,实现接口:com.opensymphony.xwork2.Action,重写方法:publicStringexecute()throwsException{},例如:
5.如需对表单或其他提交信息验证,在对应的Action的同级目录添加ActionName-validation.xml文件,ActionName替换成你的Action的名字,如GetBooksAction的验证文件为GetBooksAction-validation.xml内容比如:
6.页面UI显示标签如:
加入<%@taglibprefix="s"uri="/struts-tags"%>引用
Struts2为常用表单域都提供了对应的标签,下面是常用的表单域标签。
—form:对应一个表单元素。
—checkbox:对应一个复选框元素。
—password:对应一个密码输入框。
—radio:对应一个单选框元素。
—reset:对应一个重设按钮。
—select:对应一个下拉列表框。
—submit:对应一个提交按钮。
—textarea:对应一个多行文本域。
—textfield:对应一个单行文本框。
7.页面取值,正如GetBooksAction中的逻辑,将要返回的数据放入到Action的属性中即可,在页面取值的方法:
a)从request的“struts.valueStack”属性中取得如:
b)在页面中直接用EL表达式取值:
${books["0"]}
c)用struts2标签:
8.国际化:
a)在根目录下建立:basename_语言代码_国家代码.properties文件,如:
messageResouce_zh_CN.properties,在其中建立数据:
loginPage=登录页面
errorPage=错误页面
succPage=成功页面
failTip=对不起,您不能登录!
succTip=欢迎,${0},您已经登录!
viewLink=查看作者李刚已出版的图书
bookPageTitle=作者李刚已出版的图书
bookName=书名:
user=用户名
pass=密码
login=登录
对应的英文版的文件:messageResouce_en_US.properties
loginPage=LoginPage
errorPage=ErrorPage
succPage=WelcomePage
failTip=Sorry,Youcan'tlogin!
succTip=welcome,{0},youhasloggedin!
viewLink=ViewLiGang/'sBooks
bookPageTitle=LiGang/'sBooks
bookName=BookName:
user=UserName
pass=UserPass
login=Login
b)在根目录下建立文件:struts.properties,加载资源文件可以通过它来定义,本应用的struts.properties文件仅有如下一行代码:
//定义Struts2的资源文件的name
struts.custom.i18n.resources=messageResouce_zh_CN
c)如果将该资源文件保存在src的子目录下,例如保存在src/lee路径下,则需要修改struts.properties中的定义如下:
//定义Struts2的资源文件的name是messageResource,且文件放在src/lee路径下
struts.custom.i18n.resources=lee.messageResource
d)输出国际化信息:
<s:textname="bookPageTitle"/>:使用s:text标签来输出国际化信息
<!--EndFragment-->