想知道struts2+ajax+json怎么实现比较合理!?

问题描述

才上班几天,想问下大家在使用struts2处理ajax请求时,怎么实现比较合理!?数据交换格式用json!谢谢!···我只知道在action里拼装json拿到页面eval来处理!···请赐教···谢谢!struts2里lib包下的json包和json-plug 怎么用呢? 问题补充:lapulande 写道

解决方案

说一下啊我工作中的怎么使用的吧。Ajax请求使用Jquery发送Ajax请求。在服务端专门有一个Action来处理Ajax请求。返回数据格式用Json。比较方便的。jsonplugin-0.32.jar包放到你的lib目录下就可以了。然后就是配置了。我是把所有的Ajax请求的Action放在一个package里,注意这个package要extends="json-default",action的result要注明是json.如:<result type="json">。至于json传到页面时。就用你说的eval就可以了。没有什么难的地方。唯一有点问题的地方估计是jsonplugin.jar和struts2的版本匹配了。你可以到这个地方看看。http://code.google.com/p/jsonplugin/downloads/list。
解决方案二:
恩是滴~~给你个例子:public class LoginAction extends ActionSupport {private static final long serialVersionUID = 1L;private String username;private String password;private String permission;private boolean result;public boolean isResult() {return result;}public void setResult(boolean result) {this.result = result;}public String getPermission() {return permission;}public void setPermission(String permission) {this.permission = permission;}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;}public String validateUser() throws Exception {/*this.setResult(false);LoginManager userManager=new LoginManagerImpl();int userId=userManager.login(username, password, permission);System.out.println(userId);if(userId>0){this.setResult(true);}*/return SUCCESS;}}我把处理数据的部分注释掉了。如果你前台传了username,password,permission这种类似的数据,一定要先封装一下,这样才可以获得值。这里return的数据就是以上传过来的数据,你可以在前台alert一下就可以看到了。关于你说的response我没有在我写的程序里用到过,我也新学不久,在servlet、Jsp中接触过response。你用的struts是1还是2?1中好像用这个的?struts2好像都用return了么。
解决方案三:
首先在struts.xml中添加以下内容,具体内容请自行替换:<package name="default" namespace="/" extends="json-default"> <action name="login" class="com.hyit.ttmsoge.login.action.LoginAction" method="validateUser"> <result type="json"> <param name="defaultEncoding">utf-8</param> </result> </action>之后Action中返回的内容会自动打包成json格式的数据传到前台ajax中。

时间: 2024-09-14 14:29:46

想知道struts2+ajax+json怎么实现比较合理!?的相关文章

jquery1.4.4 ajax json 在struts2.2.1中没法封装对象,求解脱

问题描述 才学着用jquery的ajax,用json封装对象在action中找不到,求大神帮看下:js:$("#editViewMethod").click(function(){var ids = "";var flag = 0;var jsonStr = "";$("input[type='checkbox'][name!='checkAll']").each(function(){if($(this).attr(&quo

json hibernate ajax-jquery ajax json + hibernate 有关lazy策略的问题

问题描述 jquery ajax json + hibernate 有关lazy策略的问题 在使用Ajax向后台提交数据后,要返回数据时,通过hibernate去查询数据,但是json会将有关的数据一起读出来,但是我不要那么多的数据. 如何才能将设置json不去获取那么多的数据!!! 很急!!在线求大神解救!!! 报错如下: 2014-09-05 16:38:55 ERROR org.hibernate.LazyInitializationException.(LazyInitializatio

javaweb-关于是struts2配置json注解问题

问题描述 关于是struts2配置json注解问题 这是我的一段注解: @ParentPackage("json-default") @Namespace("/") public class SubjectAction extends BaseAction{ private JSONArray resultObj; @Action(value="subject", results={@Result(type="json")},

struts2,返回json数据类型

问题描述 struts2的json插件返回数据类型我做了一个树,要求返回类型是{data:"aaa",children:[]}但是struts2返回的是result:{data:"aaa",children:[]}前面的属性多了一个,单是我不想要.能有什么办法去掉那一个"result:"吗不在js里面写了,就在代码里控制行不 解决方案 解决方案二:SF!!解决方案三:把你的json想关代码贴出来.估计你用了jsonObject而没有用jsonAr

ajax json 遍历-ajax json如何通过 li 或者 table 在页面中遍历

问题描述 ajax json如何通过 li 或者 table 在页面中遍历 后台接口写好了 但是不会在页面上遍历出查询的内容啊, function selSP(){ document.getElementById("sp").innerHTML=""; $.ajax({ url : tps_url +"tps_agent/goodsTemp_TempGoodsAction_findBySearchKey.action?jsoncallback=?"

struts2返回json配置includeproperties问题

问题描述 struts2返回json配置includeproperties返回的对象中如果有子集合那么返回值中子集和只有10条记录 解决方案 解决方案二:什么意思啊..解决方案三:[{"catagoryId":1,"productCategories":[{"catagoryId":4,"catagoryName":"上市","productCategories":[],"pr

使用struts2+Ajax+jquery验证用户名是否已被注册_jquery

推荐阅读:JQuery+Ajax+Struts2+Hibernate框架整合实现完整的登录注册 在用户模块中的用户注册需求上,通常要进行用户名是否已被注册的验证,今天正好写了这个需求,把详细代码和所遇到的问题贴过来.在使用struts2+ajax时候,通常我们会返回json类型的数据,但是像上面的例子,我们只希望返回一个1和0有助于进行后续判断即可,没必要返回json类型,返回一个text字符串就可以了. regist.jsp(这里只提供<script>部分): <script type

asp.net中利用Jquery+Ajax+Json实现无刷新分页的实例代码

 本篇文章主要是对asp.net中利用Jquery+Ajax+Json实现无刷新分页的实例代码进行了介绍,需要的朋友可以过来参考下,需要对大家有所帮助  代码如下: <%@ Page Language="C#" AutoEventWireup="true" CodeFile="AjaxJson.aspx.cs" Inherits="AjaxJson" %> <!DOCTYPE html PUBLIC &quo

浏览器-jq.ajax+json+ashx+数据库交互

问题描述 jq.ajax+json+ashx+数据库交互 jq.ajax+json+ashx+数据库交互 只有在(chrome,火狐)浏览器调试的时候才能获得需要的效果,但IE任何时候都可以.各位,有没有碰到过这种情况? 解决方案 http://www.jb51.net/article/46677.htm 解决方案二: http://www.cnblogs.com/chenxizhang/archive/2010/01/30/1659979.html