1. Struts2中接收参数

  (1)用Action(class)中的属性来接收参数:自动匹配 

View Code

    当访问http://localhost:8080/struts2Deomo/useradd?username=bai&age=3时,

    Struts2回自动调用useraddd相对应的Action类中的getUsername()和getAge()方法

  (2)使用DomainModel来接受参数

    当参数个数只是action类属性中的一部分,而非所有的时候,可以用DomainModel来接收。Domain(域)一般是一个普通的类,

View Code

import com.opensymphony.xwork2.ActionSupport;public class User    //普通类,而不是一个action类,没有 extends ActionSupport
{private String username;private int age;public String getUsername(){return username;}public void setUsername(String username){this.username = username;}public int getAge(){return age;}public void setAge(int age){this.age = age;}
}

    域模型是用来接收参数,并调用相对应参数的get方法,而不是全部属性的get方法。域模型中的Action包含一个属性是domain类的一个对象:

View Code

 1 import com.opensymphony.xwork2.ActionSupport;
 2
 3 public class UserAction extends ActionSupport
 4 {
 5     private User user;
 6
 7     public String getUser()
 8     {
 9         return user;
10     }
11     public void setUser(User user)
12     {
13         this.user= user;
14     }
15
16     @Override
17     public String execute()
18     {
19         return SUCCESS;
20     }
21
22 }

    浏览器上的url地址为:http://localhost:8080/struts2Deomo/useradd?user.username=ba,则会调用user类中的getUser()方法。

2. 简单数据验证

  在Action中使用addFieldError来保存验证错误信息:

 1 public String add()
 2     {
 3         if(username == null || username != "bai")
 4         {
 5             this.addFieldError("username", "用户名不对");
 6             return ERROR;
 7         }
 8         else
 9             return SUCCESS;
10     }

  

  在error.jsp中显示错误信息:

1   <body>
2     错误提示:. <br>
3     <!--使用fielderror标签 -->
4     <s:fielderror fieldName="username"></s:fielderror>
5     <!--使用property标签,property标签可以取得value stack中的内容 -->
6      <s:property value="errors.username[0]"/>
7   </body>

    

   

转载于:https://www.cnblogs.com/paulbai/archive/2012/07/24/2607147.html

struts2学习笔记(2)相关推荐

  1. Struts2学习笔记(九) 拦截器(Interceptor)(下)

    拦截器的查找顺序 如果我们在多个地方配置了拦截器,那么框架会按什么样的顺序进行查找呢: (1)   首先查找当前Action是否声明了拦截器,如果有则使用这个拦截器,不再继续寻找,如果没有,则执行下一 ...

  2. Struts2学习笔记(五)之异常处理机制

    我们在知道在软件开发中的异常处理是很重要的,作为成熟的MVC框架的Struts2也提供了异常处理处理机制,对于一场处理:用户发送请求-->Action控制器-->发现相应的异常--> ...

  3. struts2学习笔记二--准备struts2的学习和开发环境

    准备struts2的学习和开发环境 1 导包 2 参照开发包自带的例子在web.xml文件中配置 3 参照开发包自带的例子编写Action类和配置struts.xml文件 <struts> ...

  4. Struts2学习笔记(一)--入门常见配置

     Struts2框架的学习路线 l 第一天:Struts2的概述.Struts2的入门.Struts2常见的配置.Struts2的Action的编写 l 第二天:Struts2的数据的封装.结果页面配 ...

  5. Struts2学习笔记(八) 拦截器(Interceptor)(上)

    什么是拦截器(Interceptor) 拦截器是struts2框架最重要的特性之一.它可以让你在Action 方法执行前后(Result执行之后)进行一些功能处理.在前面学习Action和学习Resu ...

  6. Struts2学习笔记(六) 结果(Result)(上)

    大多数情况下我们的用例可以被分成两个部分.一是我们需要改变和查询应用程序的状态,而是需要呈现和更新应用程序的视图.在Struts2中Action管理应用程序的状态,Result Type管理视图. R ...

  7. Struts2学习笔记(五) Action(下)

    调用非execute方法 在前面有关Action的学习中,我们的Action中真正实现业务逻辑的只有execute方法,如果我们每个Action中都只有这么一个方法的话,那么当我们程序中需要的功能很多 ...

  8. struts2学习笔记(二) 初识Struts2

    使用Struts2的好处 (1)    第一个好处就是我们不必非得编写一个控制器不可,这使得我们可以把注意力集中在编写各种动作类里的业务逻辑方面. (2)    Struts2使用了一个基于XML的配 ...

  9. struts2学习笔记(一) MVC模式

    在学习struts2之前首先了解一下MVC模式. MVC是一个设计模式,它强制性的使应用程序的输入.处理和输出分开.使用MVC应用程序被分成三个核心部件:模型.视图.控制器.它们各自处理自己的任务.分 ...

  10. Struts2学习笔记(十九) 验证码

    概述 验证码也是我们在web应用中经常要用到的功能.基本思路就是,我们在服务端动态的生一成张图片,然后将它输出到客户端.图片上包含一些字符信息,我们将这些字符信息事先保存在session中,那么客户端 ...

最新文章

  1. 记住这53个要点提高PHP编程效率
  2. linux fdisk等命令,Linux fdisk命令操作磁盘(添加、删除、转换分区等)
  3. Windows 8 各版本功能区别一览表
  4. 在Linux中head命令,Linux 中 head 命令实例
  5. 如何升级PowerShell
  6. tomcat的php文件上传大小限制,PHP上传文件大小限制的调整 Nginx 413 Request Entity Too Large...
  7. 华为nova 5全新外观曝光:水滴全面屏设计 边框下巴极窄
  8. Thinkpad 笔记本VMware Workstation 安装虚拟机出现“此主机支持 Intel VT-x,但 Intel VT-x 处于禁用状态”解决方法
  9. [转载] python中set怎么循环_Python Set集合操作
  10. 【题解】Inspection UVa 1440 LA 4597 NEERC 2009
  11. 旅游推荐系统毕业设计总结(包含旅游信息爬取、算法应用和旅游推荐系统实现)
  12. CE修改器教程总结1
  13. 光学字符识别引擎 tesseract-ocr 简介
  14. 简体字转换繁体字的winfrom小程序
  15. 更换python的pip下载国内源
  16. Netty 心跳机制及断线重连
  17. 135编辑器html点击图片播放音乐,怎么用135编辑器排版 公众号怎么做点击切换图片...
  18. 英语语法回顾4——定语和定语从句
  19. c#使用WPD读取便携式设备信息一(枚举设备、连接设备及读取设备信息)
  20. idea中使用git查看每一行代码是谁写的

热门文章

  1. [leetcode]5341. 最后 K 个数的乘积
  2. 回溯法 —— 求解子集和问题
  3. bzoj 3436: 小K的农场(差分约束)
  4. bzoj 1636 bzoj 1699: [Usaco2007 Jan]Balanced Lineup排队(RMQ)
  5. 2017百度之星资格赛:1002. 度度熊的王国战略
  6. Kubernetes部分Volume类型介绍及yaml示例
  7. 安卓动画全解:补间动画(视图动画)、布局动画、属性动画、逐帧动画。动画Animation属性、Alpha属性、Scale属性、Translate属性、Rotate属性,动画集AnimationSet
  8. Crackeme021
  9. Win10 IoT Core 更改密码(PowerShell)
  10. Java多线程知识整理