知识大全 JSP在Struts 2中使用JSON Ajax支持

Posted 属性

篇首语:男儿欲遂平生志,五经勤向窗前读。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 JSP在Struts 2中使用JSON Ajax支持相关的知识,希望对你有一定的参考价值。

JSP在Struts 2中使用JSON Ajax支持  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

  JSON插件提供了一种名为json的ResultType 一旦为某个Action指定了一个类型为json的Result 则该Result无需映射到任何视图资源 因为JSON插件会负责将Action里的状态信息序列化成JSON格式的数据 并将该数据返回给客户端页面的JavaScript

  简单地说 JSON插件允许我们在JavaScript中异步调用Action 而且Action不再需要使用视图资源来显示该Action里的状态信息 而是由JSON插件负责将Action里的状态信息返回给调用页面——通过这种方式 就可以完成Ajax交互

  Struts 提供了一种可插拔方式来管理插件 安装Struts 的JSON插件与安装普通插件并没有太大的区别 一样只需要将Struts 插件的JAR文件复制到Web应用的WEB INF/lib路径下即可

  安装JSON插件按如下步骤进行

  ( )登陆站点 下载Struts 的JSON插件的最新版本 当前最新版本是 我们可以下载该版本的JSON插件

  ( )将下载到的jsonplugin jar文件复制到Web应用的WEB INF路径下 即可完成JSON插件的安装

  实现Actio逻辑

  假设wo en输入页面中包含了三个表单域 这三个表单域对于三个请求参数 因此应该使用Action来封装这三个请求参数 三个表单域的name分别为field field 和field

  处理该请求的Action类代码如下

public class JSONExample

  

  //封装请求参数的三个属性

  private String field ;

  private transient String field ;

  private String field ;

  //封装处理结果的属性

  private int[] ints = ;

  private Map map = new HashMap();

  private String customName = custom ;

  //三个请求参数对应的setter和getter方法

  public String getField ()

  

   return field ;

  

  public void setField (String field )

  

   this field = field ;

  

  //此处省略了field 和field 两个字段的setter和getter方法

  

  //封装处理结果的属性的setter和getter方法

  public int[] getInts()

  

   return ints;

  

  public void setInts(int[] ints)

  

   this ints = ints;

  

  public Map getMap()

  

   return map;

  

  public void setMap(Map map)

  

   this map = map;

  

  //使用注释语法来改变该属性序列化后的属性名

  @JSON(name= newName )

  public String getCustomName()

  

   return this customName;

  

  public String execute()

  

   map put( name yeeku );

   return Action SUCCESS;

  

  

  在上面代码中 使用了JSON注释 注释时指定了name域 name域指定Action属性被序列化成JSON对象的属性名 除此之外 JSON注释还支持如下几个域

  serialize 设置是否序列化该属性

  deserialize 设置是否反序列化该属性

  format 设置用于格式化输出 解析日期表单域的格式 例如 yyyy MM dd T HH:mm:ss

  配置该Action与配置普通Action存在小小的区别 应该为该Action配置类型为json的Result 而这个Result无需配置任何视图资源

  配置该Action的struts xml文件代码如下

<?xml version= encoding= GBK ?>

  <!DOCTYPE struts PUBLIC

   //Apache Sofare Foundation//DTD Struts Configuration //EN

   >

  <struts>

  <constant name= struts i n encoding value= UTF />

  <package name= example extends= json default >

  <action name= JSONExample class= lee JSONExample >

  <result type= json />

  </action>

  </package>

  </struts>

  在上面配置文件中有两个值得注意的地方

  第一个地方是配置struts i n encoding常量时 不再是使用GBK编码 而是UTF 编码 这是因为Ajax的POST请求都是以UTF 的方式进行编码的

cha138/Article/program/c/201404/30451

相关参考

知识大全 ajax请求json数据并用js解析

这应该是每个web开发的人员都应该掌握的基础技术需要的朋友可以参考下   自从接触了jquery就喜欢上了前端开发而且深深感受到了前端开发的强大与重要之处同时也想为aspnet鸣不平事实上a

知识大全 探讨ASP.NETMVC框架内置AJAX支持编程技术[2]

探讨ASP.NETMVC框架内置AJAX支持编程技术[2]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一

知识大全 在jsp页面判断struts2变量的值

  首先在action里面要用变量sex并且要有get方法  jsp页面中可以用ONGL标签$sex 直接输出变量sex的值  <s:propertyvalue=sex/>也可以输出但好像

知识大全 一个AJAX自动完成功能的js封装源码[支持中文]第1/2页

一个AJAX自动完成功能的js封装源码[支持中文]第1/2页  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看

知识大全 Jsp环境下的AJAX乱码问题

Jsp环境下的AJAX乱码问题  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!cha138

知识大全 struts中文问题和国际化问题的终极解决方案

  Java本身就支持多国语言编码不需要写任何程序可以很简单的实现秘诀就是两点    所有HTML/JSP页面全部采用UTF编码    客户端浏览器完全支持UTF编码    步骤  首先把所有的HTM

知识大全 ajax+jsp草稿自动保存的实现代码

一表单部分 (l)    首先是表单填写页面用一个ID为AutoSaveMsg的DIV来显示返回信息并且用一个ID为Draft_AutoSave的Ch

知识大全 在ASP.NET里 MVC框架添加AJAX支持

在ASP.NET里MVC框架添加AJAX支持  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!一引言&

知识大全 Struts, JSP和XML解析三个问题

Struts,JSP和XML解析三个问题  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!struts

知识大全 JSP Framework - Struts

JSPFramework-Struts  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  现在越来越