Struts2基本使用--数据交互

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Struts2基本使用--数据交互相关的知识,希望对你有一定的参考价值。

Struts2中的数据交互

  在Struts2中我们不必再使用request.getParameter()这种方式来获取前台发送到服务器的参数。

  我们可以在服务器端的Java类中直接声明一个和前台发送数据的同名变量即可,然后生成它的set/get方法即可以实现前后台数据的交互。

  假如我们在前台页面中的表单如下:

<form method="post" action="demo!register.action">
    username:<input type="text" name="username"><br />
    password:<input type="password" name="password"><br />
    <input type="submit" value="注册">
</form>

  在服务器端的Java类中我们直接声明私有的同名变量就可以获取到前台发送到服务器端的参数

private String username;
private String password;
public String getUsername() {
    return username;
}
public void setUsername(String username) {
    this.username = username;
}
public String getPassword() {
    return password;
}
public void setPassword(String password) {
    this.password = password;
}

  set/get方法不需要们自己写可以通过右键Java类——>Source——>Generate Getter And Setter来自动生成

  通过这种方式我们就可以实现数据的交互,在使用过程我们要注意

  1.在Java类中声明的变量名称要和前台发送数据的名称互相对应

  2.在Struts2中方法不要带有参数

  3.在前台数据访问服务器是通过set方法来实现数据的获取,服务器通过get方法向前台页面返回数据,数据返回前台之后我们可以通过EL表达式来同名获取

一个完整示例

  index.html内容如下:

<form method="post" action="demo!register.action">
    username:<input type="text" name="username"><br />
    password:<input type="password" name="password"><br />
    <input type="submit" value="注册">
</form>

  新建一个success.jsp内容如下:

hello ${username} your password is ${password}.

  struts.xml内容如下:

<package name="demo" extends="struts-default">
    <action name="demo" class="Action.Handler">
        <result name="success">success.jsp</result>
    </action>
</package>

  新建包,包名Action在包中新建Java类,类名Handler,总之Java文件要和struts.xml中action的class互相对应。Handler.java如下:

    private String username;
    private String password;
    public String register() throws Exception{
        return "success";
    }
    public String getUsername() {
        return username;
    }
    public void setUsername(String username) {
        this.username = username;
    }
    public String getPassword() {
        return password;
    }
    public void setPassword(String password) {
        this.password = password;
    }

 

  register方法中return的"success"通过struts.xml配置可以知道显示success.jsp页面,在页面中我们EL表达式显示我们输入的信息

 

以上是关于Struts2基本使用--数据交互的主要内容,如果未能解决你的问题,请参考以下文章

Struts2与Ajax数据交互

struts2学习笔记之一:基本简介

分享知识-快乐自己:初始 Struts2 (基本概念)及 搭建第一个Demo

《Java从入门到放弃》入门篇:Struts2的基本访问方式

《Java从入门到放弃》入门篇:Struts2的基本访问方式

Struts2