在上一章中,我们已经搭建好了struts2的一个开发环境,那么这一章就来做一个简单的登录功能,以及介绍和使用struts2里面一个重要的东西-通配符。

第一步,在WebContent下面新建一个login.jsp的页面,里面使用form表单实现一个简单的登录页面。

第二步:打开上一章中建好的LoginAction这个类,先在它的默认方法中来获取登录表单的数据。Action获取表单数据有三种方式。

那么第一种:使用ActionContext类:

但是使用这种方法的时候getParameters()可以通过map数据中key获得页面提交的参数名。理论上通过遍历key,可以获取value, (得到页面传来的值)。或者通过map.get("name")得到name参数的值。但是输出看到的却是如,[Ljava.lang.String;@1e630208 。(一个String对象!)所以,那要用这种方法输出name的值,System.out.println(((String[])map.get("name"))[0]);  输出即为传过来的name对应的值。

第二种:ServletActionContext类

.

这个就跟servlet一样,获取到一个HttpServletRequest。

第三种:使用接口注入(不常用),实现接口ServletRequestAware.

这个绕来绕去也是取到了HttpServletRequest。

以上三种方法可以获取到form表单提交的数据。

下面我们介绍以及使用通配符 *。

首先还是以登录为例。

在LoginAction中重新写一个login方法:

在struts.xml中修改配置如下:

到这里肯定有疑问了,为什么name="login_*",method="{1}"?   *号就是我们所说的通配符,*可以有多个,method="{1}"代表执行哪个方法,{1}代表第一个*号,例如在页面上提交的地址为login_drop.action,那么*号就代表drop,那么执行的就是drop这个方法。那么为什么要使用通配符?它可以解决多个action地址只跳一Action的类。

例如我们现在做的登录,使用通配符后,页面的提交地址也要进行改变。

以上就是该章的主要内容

初学者易上手的SSH-struts2 02Action获取表单数据-通配符的更多相关文章

  1. Struts2封装获取表单数据方式

    一.属性封装 1.创建User实体类` package cn.entity; public class User { private String username; private String p ...

  2. struts2 封装获取表单数据的方式

    一.属性封装 1.在action中设置成员变量,变量名与表单中的name属性值相同 2.生成变量的set方法 实例 获取用户输入的用户名和密码 jsp页面 java代码 二.模型驱动(常用) 1.ac ...

  3. Struts2_day02--Struts2封装获取表单数据方式

    Struts2封装获取表单数据方式 原始方式获取表单封装到实体类对象 属性封装(会用) 1 直接把表单提交属性封装到action的属性里面 2 实现步骤 (1)在action成员变量位置定义变量 - ...

  4. strus2中获取表单数据 两种方式 属性驱动 和模型驱动

    strus2中获取表单数据 两种方式 属性驱动 和模型驱动 属性驱动 /** * 当前请求的action在栈顶,ss是栈顶的元素,所以可以利用setValue方法赋值 * 如果一个属性在对象栈,在页面 ...

  5. Action 中获取表单数据的三种方式

    (尊重劳动成果,转载请注明出处:http://blog.csdn.net/qq_25827845/article/details/53138905  冷血之心的博客) Action 中获取表单提交数据 ...

  6. SSM获取表单数据插入数据库并返回插入记录的ID值

    以下指示插入操作以及获取记录值的ID的部分操作代码!!! 首先是简单的表单实现 <%@ page language="java" contentType="text ...

  7. servlet获取表单数据的方式和编码方式

    .在servlet中获取表单的数据的几种方式  1>request.getParameter(“name”)://获取指定名称的值,返回值类型是一个字符串  2>request.getPa ...

  8. Struct2中三种获取表单数据的方式

    1.使用ActionContext类 //1获取ActionContext对象 ActionContext context = ActionContext.getContext(); //2.调用方法 ...

  9. 初学者易上手的SSH-整合

    许久没更新博客了! spring还有一章aop(面向切面),我就没讲述了,你们可以去看下代理模式. 那么我们开始整合:struts2  2.3.4 ,hibernate 5.2.10 ,spring ...

随机推荐

  1. NPIO 导出Execl

    步骤1:导入NOIO.dll    (我导入压缩包中的4.0)

  2. 如何通过navigator.userAgent判断是哪款浏览器?

    userAgent 用户代理.通过浏览器控制台alert( navigator.userAgent );可以获得当前浏览器的信息,如果逆推呢? 通过navigator.userAgent判断是哪款浏览 ...

  3. Swing-文本输入组件(一)

    Swing控件中,能够实现用户输入的有JTextField.JPasswordField.JTextArea和JTextPane.下面分别进行介绍. JTextField 最简单的文本控件,常见的登陆 ...

  4. 201521123026 《java程序设计》第七周学习总结

    1. 本章学习总结 以你喜欢的方式(思维导图或其他)归纳总结集合相关内容. 2. 书面作业 Q1.ArrayList代码分析 1.1 解释ArrayList的contains源代码 答: public ...

  5. 201521123096《Java程序设计》第七周学习总结

    1. 本周学习总结 2. 书面作业 ArrayList代码分析 1.1 解释ArrayList的contains源代码 contains遍历了ArrayList,如果ArrayList中存在与o相等的 ...

  6. 201521123116 《java程序设计》第十二周学习总结

    1. 本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结多流与文件相关内容. 2. 书面作业 Q1.字符流与文本文件:使用 PrintWriter(写),BufferedReader(读) ...

  7. 201521123029《Java程序设计》第十三周学习总结

    1. 本周学习总结 以你喜欢的方式(思维导图.OneNote或其他)归纳总结多网络相关内容. 2. 书面作业 1.网络基础 1.1 比较ping www.baidu.com与ping cec.jmu. ...

  8. DAU新解

    写在回归之时 --------------------------- 抱歉,已经超过三年没有回到这里了. 浮躁,虚荣,一颗心没有落到地上,也没有好好总结一下自己.怀念最开始那个时候的状态,安静的做点事 ...

  9. RobotFramework自动化测试框架-移动手机自动化测试Clear Text关键字的使用

    Clear Text关键字用来清除输入框的数据,该关键字接收一个参数[ locator ],这里的locator指的就是界面元素的定位方式. 示例1:Clear Text清除输入框数据时,采用reso ...

  10. python 部署 Restful web

    使用python web做Restful 风格,很简单,采用Flask框架轻松实现一个RESTful的服务. Restful相关介绍请查看:https://www.ibm.com/developerw ...