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表达式显示我们输入的信息

时间: 2024-10-03 13:38:56

Struts2基本使用(三)--数据交互的相关文章

RabbitMQ 教程(三)远程数据交互

回顾前面,我们进行了RabbitMQ的环境搭建,配置,还有本地代码的简单交互.现在我们来进行远程数据交互,就是说,我们的RabbitMQ.Server和RabbitMQ.Client可以不在同一个服务器,也能进行数据传输. 一.远程账号配置(参考第一章配置 admin配置) 配置的账号密码,就是用于我们远程服务访问. 二.RabbitMQ.Server 写入代码 static void Main(string[] args) { for (int i = 0; i < 50; i++) { Ta

uLua学习之数据交互(三)

前言 在上节中,大概谈了一下如何在lua脚本中调用unity3d中的方法来创建游戏物体,这只是很小的一个方面,uLua的优势在于对unity3d中C#语言的扩展和定制.那么如何扩展和定制呢?其中的数据交互想必是重中之重.今天就来看一下,如何在unity3d的C#脚本中读取Lua脚本中的变量值吧! 相关代码 这是在NotePad++中展示的Lua脚本文件,我个人很喜欢NotePad++这个文本编辑器,以后我们的Lua脚本也是要在这个软件中编辑的,推荐给大家使用,比起记事本什么的要好用多了(点我查看

AJAX+REA实现前后台数据交互的加密解密

AJAX+REA实现前后台数据交互的加密解密 1.创建js文件Encryption.js /**  * 加密解密  */ /** RSA加密用 生成key */ function bodyRSA(){ /** 1024位的key参数写130,2014位的key参数写260 */ setMaxDigits(130); /** ajax 调用后台方法,取回公钥 */ var keyR ;     $.ajax({      url: "/GHGL/Key/pk",//请求后台的url,本例

浅谈混合开发与Android,JS数据交互

本文是作者原创,如转载请注明出处! 一.概论 现在时代已经走过了移动互联网的超级火爆阶段,市场上移动开发人员已经趋于饱和,显然,只会原生APP的开发已不能满足市场的需求,随着H5的兴起与火爆,H5在原生APP中的使用越来越广泛,也就是我们常说的混合开发(Hybrid APP).最新很火的微信小程序相信大家都是知道的,实际上微信小程序加载的界面就是一个HTML5的界面,HTML5界面在一些电商类的APP中主要承担展示数据的作用,但是他的作用并不仅限于此,最起码js调用原生方法和原生调用js的方法是

ASP.NET MVC 4 中的JSON数据交互

前台Ajax请求很多时候需要从后台获取JSON格式数据,一般有以下方式: 拼接字符串 return Content("{\"id\":\"1\",\"name\":\"A\"}"); 为了严格符合Json数据格式,对双引号进行了转义. 使用JavaScriptSerialize.Serialize()方法将对象序列化为JSON格式的字符串 MSDN 例如我们有一个匿名对象: var tempObj=new

Android与服务器端数据交互(基于SOAP协议整合android+webservice)

此文出自:http://www.cnblogs.com/zhangdongzi/archive/2011/04/19/2020688.html 上一节中我们通过http协议,采用HttpClient向服务器端action请求数据.当然调用服务器端方法获取数据并不止这一种.WebService也可以为我们提供所需数据, 那么什么是webService呢?,它是一种基于SAOP协议的远程调用标准,通过webservice可以将不同操作系统平台,不同语言,不同技术整合到一起. 我们在PC机器java客

ASP.Net WebAPI与Ajax进行跨域数据交互时Cookies数据的传递

前言 最近公司项目进行架构调整,由原来的三层架构改进升级到微服务架构(准确的说是服务化,还没完全做到微的程度,颗粒度没那么细),遵循RESTFull规范,使前后端完全分离,实现大前端思想.由于是初次尝试,中途也遇到了不少问题.今天就来讨论一下其中之一的问题,WebAPI与前端Ajax 进行跨域数据交互时,由于都在不同的二级域名下(一级域名相同),导致Cookies数据无法获取. 最开始通过头部(Header)将Cookies传输到其WebAPI,也能解决问题. 下面讲述另外一种解决方案. 解决过

Struts2框架学习(三) 数据处理

Struts2框架学习(三) 数据处理 Struts2框架框架使用OGNL语言和值栈技术实现数据的流转处理. 值栈就相当于一个容器,用来存放数据,而OGNL是一种快速查询数据的语言. 值栈:ValueStack一种数据结构,操作数据的方式为:先进后出 OGNL : Object-GraphNavigation Language(对象图形导航语言)将多个对象的关系使用一种树形的结构展现出来,更像一个图形,那么如果需要对树形结构的节点数据进行操作,那么可以使用 对象.属性 的方式进行操作,OGNL技

使用Jquery.AJAX方法和PHP后台数据交互小结

使用jQuery的AJAX方法和后台PHP进行数据交互,交互采用的数据格式JSON格式. 我主要小小的总结了一下,我使用AJAX方法时候遇到一些小小的问题. 第一:在传递数据的时候,传输地址注意是否正确. 第二:在传输数据时,传输的数据格式是否正确. 第三:我遇到过 200 但是执行的是AJAX方法的错误方法,我总结了一下,一般都是PHP的数据格式不正确,所以,当遇到200 error时候,应该认真,仔细的检查PHP传输的数据格式是否争取,由于JSON的特性,所以,使用JSON的时候对数据格式规