`
ps329795485
  • 浏览: 50110 次
  • 性别: Icon_minigender_1
  • 来自: 北京
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

在Struts2中使用JSON AJAX

 
阅读更多


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


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

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

--------引用

JSON插件下载地址:JSON插件下载

框架结构为:struts2 jquery JSON

首先搭建struts2环境

然后引入jar包 如下图:

 



 

还需引入jquery.js文件

整个项目结构图如下



 

配置struts.xml


建立Action类 LoginAction.java

前台页面 login.jsp

my.js

备注:

在调试的时候 出现了乱码,本人水平有限,解决不了。

在login.jsp中设置了

<%@ page contentType="text/html; charset=utf-8"%>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8">

<%
//竟然还是TMD乱码
response.setContentType("text/html;charset=utf-8");
request.setCharacterEncoding("utf-8");
%>

最后在struts.xml中也配置了

<constant name="struts.i18n.encoding" value="UTF-8" />

还是乱码....


在struts.xml的配置文件中需要注意一点:

package继承的是json-default 而不是struts-default 这是因为只有在该包下才有JSON类型的Result


写到此处还是有点不明:

在my.js 中利用ajax请求地址到loginAction返回是JSON格式数据,不知道它是如何得到Action中的数据的。

我尝试把所有属性的set,get方法注释掉,发现得不到数据了,也许就是set,get传递数据的。

不解与不明之处还请指教!

  • 大小: 12.3 KB
  • 大小: 21.5 KB
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics