温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Struts2怎么获取前台参数

发布时间:2022-09-29 11:47:48 来源:亿速云 阅读:76 作者:iii 栏目:开发技术

本篇内容主要讲解“Struts2怎么获取前台参数”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Struts2怎么获取前台参数”吧!

Struts2获取前台参数的三种方式

这里使用form表单提交作为例子,当然使用ajax提交都可以。

1.属性驱动。

在Action中定义属性,确保所定义的属性名称与Form表单中的name属性一致,适用于属性个数较少的情况。

<form action="login" method="post>
    用户名:<input type="text" name="username"/><br/>
    密码:<input type="password" name="password"/><br/>
    <button type="submit" name="login">登录</button></form>
public class LoginAction extends ActionSupport {    // 属性驱动,需要input中name属性值相同(属性个数较少情况)
    private String username;    private String password;    
    public void setUsername(String username) {        this.username = username;
    } 
    public String getPassword() {        return password;
    } 
    public void setPassword(String password) {        this.password = password;
    } 
    public String login() {        if ("yanggb".equals(username) && "123".equals(password)) {            return SUCCESS;
        }
    }
}

2.对象驱动。

创建一个对象实例,将表单定义的属性匹配给所定义的对象,即以对象为单位,用对象获取属性,方便属性较多的情况。

<form action="login" method="post>
    用户名:<input type="text" name="user.username"/><br/>
    密码:<input type="password" name="user.password"/><br/>
    <button type="submit" name="login">登录</button></form>
public class LoginAction extends ActionSupport {    // 对象驱动,input中name属性要以【对象.属性】格式组织
    private User user;    
    public User getUser() {        return user;
    }    public void setUser(User user) {        this.user = user;
    } 
    public String login() {        if ("yanggb".equals(user.username) && "123".equals(user.password)) {            return SUCCESS;
        }
    }
}

3.模型驱动。

模型驱动是对象驱动的升级,实现ModelDriven<User>接口,人为将一个对象User作为一个Model,将View层和Controller层关联起来。这样,View就能实现表单属性的匹配,同时也能知道Controller层的功能。只要使用getModel()返回对象user匹配model中的属性即可,页面不需要对象。

<form action="login" method="post>
    用户名:<input type="text" name="username"/><br/>
    密码:<input type="password" name="password"/><br/>
    <button type="submit" name="login">登录</button></form>
public class LoginAction extends ActionSupport implements ModelDriven<User> {    private User user;    
    public User getUser() {        return user;
    }    public void setUser(User user) {        this.user = user;
    } 
    public String login() {        if ("yanggb".equals(user.username) && "123".equals(user.password)) {            return SUCCESS;
        }
    }    @override
    public User getModel() {        // TODO Auto-generated method stub
        // 得到model对象user(自动匹配model里面的属性,不用再在form的name属性中写具体对象)
        return user;
    }
}

要注意的是,当属性驱动与模型驱动同时存在的时候,不会执行属性驱动方法,而是直接执行模型驱动来获取参数。

到此,相信大家对“Struts2怎么获取前台参数”有了更深的了解,不妨来实际操作一番吧!这里是亿速云网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI