`
azrael6619
  • 浏览: 580954 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

struts2学习笔记-简单介绍

阅读更多
   一、struts.valueStack的使用
   当Action设置了某个属性后,Struts2将这些属性值全部封装在一个叫做struts.valueStack的请求属性里。在页面可以输出ValueStack vs = (ValueStack)request.getAttribute("struts.valueStack");
String[] books = (String[])vs.findValue("books"); books是action里的属性
for  (String book:books){
    out.println(book);
}
不过这种方法基本不会去用。

    二、国际化注意点及native2ascii使用:
    (一)、国际化资源文件命名的格式为:basename_语言代码_国家代码.properties
   例如:美国  messageResource_en_US.properties
        中国  messageResource_zh_CN.properties

    (二)、加载资源文件可以通过struts.properties文件来定义
     例如:struts.custom.i18n.resources = messageResource
   
    (三)、输出国际化信息:
     1.<s:text name="messageKey" />  使用s:text标签来输出国际化信息。
     2.<s:property value="%{getText("messageKey")" />  使用表达式方式输出国际化信息。

    (四)、native2acsii:
     如果国际化资源文件包含了非西欧字符,则应先转换你成标准的ASCII格式,可以利用native2ascii来转化:
native2ascii messageResouce.properties messgeResouce_zh_CN.properties
输入文件名为:messageResource.properties
输出文件名为:messageResouce_zh_CN.properties
    具体用法:
     用法:native2ascii [-reverse] [-encoding 编码] [输入文件 [输出文件]]

    -[options]:表示命令开关,有两个选项可供选择
     -reverse:将Unicode编码转为本地或者指定编码,不指定编码情况下,将转为本地编码。
    -encoding encoding_name:转换为指定编码,encoding_name为编码名称。
    [inputfile [outputfile]]
    inputfile:表示输入文件全名。
     outputfile:输出文件名。如果缺少此参数,将输出到控制台

     三、数据校验
    
     利用struts2的数据校验或者拦截器,一定要在action中配置<result name="input" />,当有错误的时候系统会自动返回,如果要在返回后的页面中输出错误信息,则需要在该页面中添加<s:fielderror />,但错误信息有时候很难看懂,故可以配置国际化,有些key是固定的,详细的看文档。

     (一)、通过重写ActionSupport类的validate方法实现。
     1.一般都会继承ActionSupport,因为他里面有return的值。
     2.validate方法会在execute方法之前执行,如果执行了validae方法,Action类的fieldErrors中已经包含了数据校验错误,请求将被转发到input逻辑视图处。故应该要配置返回为input属性。
     3.因为struts2的<s:form.../>默认已经提供了输出校验错误的能力,故错误信息会直接在input的页面输出。
     (二)、使用struts2的校验框架
      1.增加一个校验配置文件,通过使用struts2已有的校验器进行校验。
      2.遵守如下规则:ActionName-validation.xml其中ActionName就是需要校验的Action的类名。并且把该文件和Action类的class文件放在同一个路径下。
      3.校验规则的定义文件如下:
<?xml version="1.0" encoding="GBK"?>
<!-- 指定校验规则文件的DTD信息 -->
<!DOCTYPE validators PUBLIC "-//OpenSymphony Group//XWork Validator 1.0.3//EN" "http://www.opensymphony.com/xwork/xwork-validator-1.0.3.dtd">
<!-- 校验规则定义文件的根元素 -->
<validators>
<!-- 校验第一个表单域:username -->
<field name="username">
<!-- 该表单域必须填写 -->
<field-validator type="requiredstring">
<!-- 如果校验失败,显示user.required对应的信息 -->
<message key="user.required"/>
</field-validator>
</field>
<!-- 校验第二个表单域:password -->
<field name="password">
<field-validator type="requiredstring">
<!-- 如果校验失败,显示pass.required对应的信息 -->
<message key="pass.required"/>
</field-validator>
</field>
</validators>

分享到:
评论

相关推荐

    struts2学习笔记.doc

    ### Struts2学习笔记知识点概览 #### 一、环境搭建 **1.1 Struts2简介** - **Struts2概述**:Struts2是一个开源的MVC框架,它结合了Struts 1.x、WebWork和其他一些框架的优点。Struts2的主要目标是简化Web应用程序...

    Struts2学习笔记

    根据给定的文件信息,以下是对Struts2学习笔记中涉及的关键知识点的详细解析: ### Struts2框架概览 #### MVC模式的理解与演进 Struts2是基于MVC(Model-View-Controller)模式设计的一种Java Web开发框架。在MVC...

    struts2学习笔记

    ### Struts2学习笔记知识点详解 #### 一、准备工作及实例 **1. 解压struts-2.1.6-all.zip** - **Apps目录**:包含struts2自带的例子程序,适合初学者通过实际案例了解框架的基本用法。 - **Docs目录**:官方文档...

    struts2学习笔记黑马程序员

    ### Struts2学习笔记之文件上传与Ajax开发 #### Struts2文件上传 **文件上传简介** 文件上传是Web应用中常见的功能之一,Struts2框架内置了对文件上传的支持,使得开发者能够轻松地实现这一功能。为了确保文件...

    struts2学习笔记1-HelloWorld项目

    本篇学习笔记将引导我们从零开始,通过一个简单的"HelloWorld"项目,了解Struts2的基础知识。 首先,我们需要在本地环境中搭建Struts2的开发环境。这包括安装JDK、配置Java环境变量、下载Apache Struts2的最新版本...

    Struts2学习笔记2012

    ### Struts2学习笔记2012 #### 一、建立一个Struts2工程 **步骤详解:** 1. **创建Web项目:** - 在MyEclipse中选择“File” &gt; “New” &gt; “Dynamic Web Project”,创建一个新的Web项目。 2. **解压并配置...

    struts2框架学习笔记整理

    ### Struts2框架学习笔记整理 #### 一、Struts2框架概述 ##### 1.1 Struts2框架定义 Struts2是一个基于MVC(Model-View-Controller)架构模式的开源Java web应用框架,它能够帮助开发者构建可扩展且易于维护的...

    Struts2.1学习笔记

    ### Struts2.1学习笔记 #### Struts2的来源与优点 - **来源**:Struts2是在WebWork2的基础上发展起来的,它继承了WebWork2的优点,并且进行了改进,使其更适合现代Web应用程序的需求。与Struts1相比,Struts2的...

    传智播客struts2全程学习笔记

    ### 传智播客Struts2全程学习笔记 #### Struts2的优点 1. **无侵入式设计**:与Struts1相比,Struts2的设计更为先进,它不依赖于Servlet API或Struts API,这使得Struts2更加灵活且易于集成到其他环境中。在代码...

    Struts2 学习笔记

    01 Struts2-Action 5 一、 Struts作用: 5 二、 搭建Struts2的运行环境: 5 三、 Namespace 6 四、 标签 6 五、 Action 6 六、 路径问题的说明 8 七、 Action的动态调用方法 8 八、 Action通配符(wildcard)的配置 9 ...

    Struts2学习笔记与心得

    在探讨Struts2的学习心得之前,我们先来分析一下Struts2与Struts1之间的区别。 ##### 1.1 架构设计 - **Struts1**:采用MVC(Model-View-Controller)架构模式,其中控制器是由`ActionServlet`来实现的,该控制器...

    struts学习笔记

    Struts2 学习笔记-part2: 实现用户登录功能 在上一部分中,我们了解了构建一个基于Struts2的Java Web项目所需的基本库和配置文件。现在,我们将逐步实现一个简单的用户登录功能。 一、创建Action类 在Struts2框架...

    Unmi 的 Struts2 学习笔记

    ### Unmi的Struts2学习笔记关键知识点解析 #### 一、Struts2与Struts1的主要区别 1. **架构上的变化**:Struts2并非Struts1的直接升级版,而是基于WebWork框架发展而来,这导致两者在设计哲学和技术实现上有很大...

Global site tag (gtag.js) - Google Analytics