zoukankan      html  css  js  c++  java
  • struts2框架之请求参数(参考第二天学习笔记)

    获取请求参数

    请求参数:表单中的数据,或者是超链接中的数据。

    1. 得到request,再通过request来获取。
    2. 属性驱动
    在Action中提供与表单字段名称相同的属性即可。
    而一个名为params的拦截器来完成!
    3. 模型驱动(最为常用)
    1). 给出一个model类
    2). 在Action类中定义model成员,必须手动实例化。
    3). Action类必须实现ModelDriven接口
    4). ModelDriven接口只有一个方法,叫getModel(),我们让它返回model对象。

    params会查看你的Action是否实现了ModelDriven接口,如果实现了,那么调用getModel()方法得到model对象,然后完成封装
    如果没有实现,那么把数据封装到当前Action对象中

    <form>
    <input type="text" name="username"/>
    <input type="password" name="password"/>
    ...
    </form>

    class Action {
    private String username;
    private String password;
    .. setter/getter
    }

    class User {
    private String username;
    private String password;
    ... getter/setter
    }
    class MyAction implements ModelDriven<User> {
    private User model = new User();//手动实例化
    public User getModel() {
    return model;
    }
    }

    4. OGNL方式

    在Action中正常给出属性,无论属性的类型是什么,可以是User类型,也可以是List<User>,甚至是Map<String,User>

    使用OGNL是在页面的表单中。

    <input type="text" name="user.usernmae"/>,其中user.username是OGNL表达式,它表示当前Action的user的username属性。
    <input type="text" name="userList[0].usernmae"/>,定位:当前Action的userList属性的下标为0元素的username属性
    <input type="text" name="userMap['zhangSan'].username"/>,定位:当前Action的userMap属性的键为zhangSan的元素的username属性

  • 相关阅读:
    jenkins api
    打码兔官网 验证码识别 远程答题服务 代答平台 验证码识别软件下载
    WeUI首页、文档和下载
    CMDB, 配置管理数据库, ITIL
    OpenResty Con 2015
    Ngx_lua 最佳技术实践 | UPYUN技术现场
    兔大侠整理的MySQL-Python(MySQLdb)封装类
    58同城沈剑:好的架构源于不停地衍变,而非设计-CSDN.NET
    Lua包管理工具Luarocks详解
    zz
  • 原文地址:https://www.cnblogs.com/xyhero/p/9348756.html
Copyright © 2011-2022 走看看