现在的位置: 首页 > 综合 > 正文

Java_WEB开发_struts2学习的总结

2018年05月22日 ⁄ 综合 ⁄ 共 4988字 ⁄ 字号 评论关闭

一、构建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.jarfreemarker.jarognl.jarstruts2-core.jarxwork.jar这些struts2的基本包

2.修改WEB-INF下的web.xml文件,添加

 

 

3.src根目录下建立struts.xml文件,内容:

 

  

 

4.添加控制器类,实现接口:com.opensymphony.xwork2.Action,重写方法:public String execute() throws Exception {},例如:

 

 

 

5.如需对表单或其他提交信息验证,在对应的Action的同级目录添加ActionName-validation.xml文件,ActionName替换成你的Action的名字,如GetBooksAction 的验证文件为GetBooksAction-validation.xml内容比如:

 

 

 

6.页面UI显示标签如:

 

 

加入<%@taglib prefix="s" uri="/struts-tags"%>引用

Struts 2为常用表单域都提供了对应的标签,下面是常用的表单域标签。

—  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=Login Page

errorPage=Error Page

succPage=Welcome Page

failTip=Sorry,You can't log in!

succTip=welcome,{0},you has logged in!

viewLink=View LiGang/'s Books

bookPageTitle=LiGang/'s Books

bookName=BookName:

user=User Name

pass=User Pass

login=Login

 

b) 在根目录下建立文件:struts.properties加载资源文件可以通过来定义,本应用的struts.properties文件仅有如下一行代码:

//定义Struts 2的资源文件的name

struts.custom.i18n.resources = messageResouce_zh_CN

c) 如果将该资源文件保存在src的子目录下,例如保存在src/lee路径下,则需要修改struts.properties中的定义如下:

//定义Struts 2的资源文件的namemessageResource,且文件放在src/lee路径下

struts.custom.i18n.resources=lee.messageResource

 

d) 输出国际化信息:

<s:text name="bookPageTitle"/>:使用s:text标签来输出国际化信息

抱歉!评论已关闭.