$.ajax+struts2+JSON,我想在struts2处理JSON数据之前,对JSON数据做个预处理

比如将['struts.token','123SFADS8ASFAS0']变为['token','123SFADS8ASFAS0'],各位大虾,求解!!!... 比如将['struts.token','123SFADS8ASFAS0']变为['token','123SFADS8ASFAS0'],各位大虾,求解!!! 展开
 我来答
ykwild
2013-08-16
知道答主
回答量:30
采纳率:0%
帮助的人:20万
展开全部
<!-- 全局资源 -->
<global-results>
   <result name="json" type="redirect-action">
     <param name="actionName">../common/handlerJSON.action</param>
   <param name="json">${json}</param>
</result>

<!-- JSON Action -->
<package name="common-json-action" extends="json-default" namespace="/common"> 
    <action name="handlerJSON" class="com.server.console.common.action.JSONMessageAction">  
    <result type="json"/>
    </action> 
</package>
public class JSONMessageAction extends BaseSupportAction{
  private String json = null;
 
  public String execute(){
  if(this.json==null||this.json.equals("")){
   Object data = this.getSession().remove(JSON_DATA);
   if(data!=null){
    this.json = (String)data;
   }  
  }
    return "success";
 }
 public void setJson(String json) {
  try {
   this.json = new String(json.getBytes("ISO-8859-1"),"UTF-8");
   } catch (UnsupportedEncodingException e) {
   e.printStackTrace();
  } catch (Exception e) {
   e.printStackTrace();
  }
 }
 
 @JSON(name="json") 
 public String getJson() {
  return json;
 }

 根据自己的需求处理和调整下即可~

匿名用户
2013-08-16
展开全部
那不使用struts的json插件,自己生成json字符串,比如使用gson,也很方便
追问
这个问题,主要是struts2版本升级到2.3.15后,在页面中token标签的名称变成了token,而不是低版本的struts.token,导致进行Ajax请求中的JSON数据名称变了,需要进行页面的改造,但是工作量太大,我就行整个过滤器啥的把JSON数据二次封装下
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式