• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >Java > Struts2中Action三种接收参数形式与简单的表单验证功能

Struts2中Action三种接收参数形式与简单的表单验证功能

作者:小破孩123 字体:[增加 减小] 来源:互联网 时间:2017-05-28

小破孩123 通过本文主要向大家介绍了struts2 action,struts2 action配置,struts2 action跳转,struts2 action传值,struts2中的action等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

有了前几篇的基础,相信大家对于Struts2已经有了一个很不错的认识,本篇我将为大家介绍一些关于Action接收参数的三种形式,以及简单的表单验证实现,下面进入正题,首先我们一起先来了解一下最基本的Action接收参数的形式,直接在我们的Action类中添加成员变量,这样就可以完成Action接收参数的操作,具体内容详见代码展示:

  这里我们以登录验证为例,进行代码展示,首先是我们的Action类:

/***
 * 最基本的接收参数形式
 * @author jho
 * http://localhost:8080/Struts3/index!login?name="123"&password="456"
 */
@SuppressWarnings("serial")
public class User extends ActionSupport {
  private String name;
  private int pwd;
  public String getName() {
    return name;
  }
  public void setName(String name) {
    this.name = name;
  }
  public int getPwd() {
    return pwd;
  }
  public void setPwd(int pwd) {
    this.pwd = pwd;
  }
  public String login(){
    System.out.println("name="+name+" Pwd="+pwd);
    if(123456==pwd){
      return SUCCESS;
    }else{
      return ERROR;
    }
  }
}
</div>

  下面我们一起来看一下Action的第二种接收参数的形式,通过User类对象来完成整个的参数接收,首先我们创建一个User类:

public class User {
  private String name;
  private String password;
  public String getName() {
    return name;
  }
  public void setName(String name) {
    this.name = name;
  }
  public String getPassword() {
    return password;
  }
  public void setPassword(String password) {
    this.password = password;
  }
}
</div>

  然后通过User对象在Action中进行用户提交参数的接收:

/***
 * Dormain Model
 * @author jho
 * http://localhost:8080/Struts4/index!login?user.name="123"&user.password="456"
 */
@SuppressWarnings("serial")
public class UserAction extends ActionSupport {
  private User user;
  public User getUser() {
    return user;
  }
  public void setUser(User user) {
    this.user = user;
  }
  public String login(){
    System.out.println("name="+user.getName()+" Pwd="+user.getPassword());
    return SUCCESS;
  }
}
</div>

  最后是通过Struts的ModelDriven<User>来进行用户参数的接收,第一步创建我的User类对象,第二部配置我们的Action:

/***
 * Model Driven
 * @author jho
 * http://localhost:8080/Struts5/index!login?name="123"&password="456"
 */
@SuppressWarnings("serial")
public class UserAction extends ActionSupport implements ModelDriven<User>{
  private User user = new User();
  public String login(){
    System.out.println("name="+user.getName()+" Pwd="+user.getPassword());
    return SUCCESS;
  }
  public User getModel() {
    return user;
  }
}
</div>

  所谓ModelDriven,意思是直接把实体类当成页面数据的收集对象。

  对于简单的表单验证知识,就为大家介绍一下addFieldError()方法:

@SuppressWarnings("serial")
public class InputErrorFilter extends ActionSupport{
  private String name;
  public String getName() {
    return name;
  }
  public void setName(String name) {
    this.name = name;
  }
  @Override
  public String execute() throws Exception {
    return SUCCESS;
  }
  public String login(){
    System.out.println(name+"");
    if(name!=null && name.equals("hpu")){
      return SUCCESS;
    }else{
      this.addFieldError("nameError", "用户名输入有误");
      this.addFieldError("nameError", "ul li形式输出错误信息");
      return ERROR;
    }
  }
}
</div>

  我们的错误处理页面:

<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<%@taglib uri="/struts-tags" prefix="s"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
 <head>
  <base href="<%=basePath%>" rel="external nofollow" >
  <title>My JSP 'error.jsp' starting page</title>
  <meta http-equiv="pragma" content="no-cache">
  <meta http-equiv="cache-control" content="no-cache">
  <meta http-equiv="expires" content="0">  
  <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
  <meta http-equiv="description" content="This is my page">
  <!--
  <link rel="stylesheet" type="text/css" href="styles.css" rel="external nofollow" >
  -->
 </head>
 <body>
      操作失败 <br>
      输入参数:<s:text name="name" /><br/>
    <s:fielderror fieldName="nameError" theme="simple"/><br/>
    <s:property value="errors.nameError[0]"/><br/>
    <s:debug></s:debug>
 </body>
</html>
</div>

以上所述是小编给大家介绍的Struts2中Action三种接收参数形式与简单的表单验证功能,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!

</div>
分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • Struts2之Action接收请求参数和拦截器详解
  • Struts2中Action三种接收参数形式与简单的表单验证功能
  • Struts2之Action接收请求参数和拦截器详解

相关文章

  • 2017-05-28java 算法之归并排序详解及实现代码
  • 2017-05-28javaweb在线支付功能实现代码
  • 2017-05-28实例详解java Struts2的配置与简单案例
  • 2017-05-28详解使用zxing库生成QR-Code二维码
  • 2017-09-06个人模拟面试之基础知识+部分线程问题
  • 2017-05-28实例详解java Struts2的配置与简单案例
  • 2017-05-28Spring Boot Log4j2的配置使用详解
  • 2017-05-28Spring Boot的filter(过滤器)简单使用实例详解
  • 2017-05-28java 中Comparable与Comparator详解与比较
  • 2017-05-28Java正则验证电话,手机,邮箱,日期,金额的方法示例

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • 详谈Java编程之委托代理回调、内部类以及匿名内部类回调(闭包回调)
    • Java Map简介_动力节点Java学院整理
    • Java非递归实现删除任意目录的方法
    • Java 内存模型
    • java与JSON数据的转换实例详解
    • Spring Boot启动过程(六)之内嵌Tomcat中StandardHost、StandardContext和StandardWrapper的启动教程详解
    • java多线程的同步方法实例代码
    • Java多线程并发编程(互斥锁Reentrant Lock)
    • Java的内存机制详解
    • 详解Spring框架之基于Restful风格实现的SpringMVC

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有