首页 > 代码库 > struts总结
struts总结
1.struts标签库用于展示视图部分。像jstl一样,需要使用标签时,必须把头文件引进来。
2.struts对国际化的支持。
那什么是国际化?
目的是为了适应不同区域的要求。开发这样适应不同区域程序称之为国际化。
那struts是如何实现国际化呢?具体的做法如下:
- 提供国际化资源文件。文件是由base基本信息和local组成。
- 配置信息中进行配置。<message-resourcesparameter="resources.MessageResources" />其中的parameter视资源文件位置而定,若是在具体包下,则配置时需加上具体包名。
- 界面进行读取。使用struts提供的标签进行读取。<bean:messagekey="login.form.field.username"/>:<input type="text"name="username">
对于,输入的用户名重复这种提示信息或者密码不正确这种错误信息,struts又是如何做到呢?
- 首先要创建国际化消息文本。
//返回的list
ActionMessagesmessages = new ActionMessages();
//返回的一条文本信息
ActionMessageerror = new ActionMessage(key);
- 传递国际化消息文本。
this.saveErrors(request,messages);
- 显示国际话消息文本。
使用struts标签来显示信息。可以使用<html:message>或者<html:errors>。其中<html:message>可以显示任何一条信息,而<html:errors>只可显示错误信息。
3.动态验证框架。
动态框架的引入历程:
以前,把验证代码javascript都写在jsp文件中,若是修改验证信息,则需要修改大量的jsp文件。
比如:每个jsp页面都有验证文本框的输入字符的长度信息,若是在每个jsp文件都写js代码,则会出现大量的重复代码。重复代码是糟糕代码的表现。为了消除重复的代码,首先想到的是提取,对了,可以抽取到一个js文件中,到时候其他jsp文件直接引用即可。在drp视频中,我们是这样做的。这是一个办法,但是我们修改验证信息,比如验证长度从5个字符变成9个字符,那我们修改js文件后必须重新编译。为了进一步改进这种情况,struts替我们封装好了,使用struts框架,我们把验证信息放到验证配置文件中,修改验证信息直接修改xml文件即可。注意:修改xml是不用重新编译的。这是使用配置文件的最大特点。
那struts是如何实现动态验证的呢?
- 配置struts-config文件,
<plug-inclassName="org.apache.struts.validator.ValidatorPlugIn">
<set-property
property="pathnames"
value="http://www.mamicode.com/WEB-INF/validator-rules.xml,/WEB-INF/validation.xml"/>
</plug-in>
- 提供配置文件validation.xml和validator-rules.xml
- 配置验证配置文件-validation.xml
4.主要的组件介绍:
ActionServlet:中央控制类,是Struts的核心控制类。
ActionForm:与表单上数据一致,封装了表单上的数据。
ActionForward:封装了返回信息的对象。
ActionMapping:根据path,封装了path对应的配置信息的对象。
DispatchAction:也是继承了Action,主要的作用是根据名称分发Action,其工作流程是动态代理的代表。
5.配置信息介绍:
配置文件中的标签都是有顺序的。常用的配置标签有:<form-bean>用来配置actionForm的。<action-mapping>用来配置action、forward、exception的。还有就是第三方组件的配置如<plug-in>