问题:利用struts自带的json机制,期望从后台获取json数据失败,求帮助-问答-阿里云开发者社区-阿里云

开发者社区> 问答> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

问题:利用struts自带的json机制,期望从后台获取json数据失败,求帮助

2016-07-05 11:59:22 2746 1

问题:利用struts自带的json机制,期望从后台获取json数据失败,求帮助

##############################################################

struts 2.3.20

struts.xml
 <package name="json" extends="json-default" namespace="/test">
  <action name="AjaxJson" class="test.AjaxJsonAction">   
   <result type="json">
    <param name="root">dataMap</param>
   </result>  
  </action> 
 </package>


##############################################################
java code

public class AjaxJsonAction extends ActionSupport {

private static final long serialVersionUID = 1L;
 //将会被Struts2序列化为JSON字符串的对象
private Map dataMap;

public Map getDataMap() {
 return dataMap;
 }

public String execute() throws Exception
 {
 dataMap = new HashMap();
 dataMap.put("success", true);
 System.out.println("Debug - AjaxJsonAction - execute");
 return SUCCESS;
 }

public void validate() {
 System.out.println("Debug - AjaxJsonAction - validate");
 } 
 }

##############################################################

url:http://localhost:8080/SSHBasic/AjaxJson //访问不成功;服务器后台能收到Firefox前台的访问请求,action的execute函数也执行了,可状态码是302,?Firefox前台看到网页是被重定向到index.jsp了

server控制台输出:

Debug - AjaxJsonAction - validate
 Debug - AjaxJsonAction - execute

firefox控制台输出:

请求网址: http://localhost:8080/SSHBasic/AjaxJson

状态码:HTTP/1.1 302 Found

响应头 - Location: http://localhost:8080/SSHBasic/index.jsp
取消 提交回答
全部回答(1)
  • 杨冬芳
    2019-07-17 19:51:21

    分析
    302 no found / redirect; 服务器端能收到客户端的请求,并且也在AjaxJsonAction里处理完毕,于是struts.xml是重点怀疑对象。 检查struts.xml。
    发现有这么一行包含‘redirect’

    怀疑点
    index.jsp

    struts.xml 全文
    <?xml version="1.0" encoding="UTF-8" ?>

    <constant name="struts.i18n.encoding" value="UTF-8" />
    <constant name="struts.multipart.maxSize" value="15000000"></constant> 
    <package name="struts2" extends="struts-default">
    
        <action name="*_*" class="test.{1}Action" method="{2}">
            <result name="success" type="redirect">index.jsp</result>
            <result name="error">index.jsp</result>
            <result name="ADD">index.jsp</result>
            <result name="DELETE">index.jsp</result>
            <result name="REGISTER">login.jsp</result>
        </action>
    
        <action name="UploadFile" class="test.UploadFileAction">
            <result name="success">index.jsp</result>
            <result name="input">uploadFile.jsp</result>
            <param name="savePath">/images</param>
            <interceptor-ref name="fileUpload">
                <param name="allowedTypes">image/bmp,image/png,image/gif,image/jpeg</param>
                <param name="maximumSize">15000000</param>
            </interceptor-ref>
            <interceptor-ref name="defaultStack" />                 
        </action>
    
    </package>
    
    <package name="json" extends="json-default">
        <action name="AjaxJson_1"
            class="test.AjaxJsonAction" method="testByAction">
            <result type="json">
                <param name="root">dataMap</param>
            </result>
        </action>
    </package>

    修改 index.jsp为 (即删除 type="redirect") index.jsp验证解决办法上面的方法竟然解决问题了,在客户端能拿到json格式的返回数据了。可是,就这方法就能解决?按理说,不同的package,不同的action,这样修改怎么能解决问题;可的的确确我就是只改了这里。更改后,发现原来的问题不见了,不得其解,留待将来对struts

    0 0
相关问答

0

回答

请问使用java移动某个JSON数据节点性能最优的做法是什么?

2021-11-07 10:43:22 126浏览量 回答数 0

1

回答

使用java获取JSON数据某个key的值的最优性能的做法是什么?

2021-11-06 19:51:16 124浏览量 回答数 1

0

回答

请问使用java对JSON数据内容进行替换的性能最优的做法是什么?

2021-11-06 22:45:02 142浏览量 回答数 0

1

回答

Java虚拟机支持的数据类型double占多少个字节?

2021-10-26 22:35:08 237浏览量 回答数 1

1

回答

RDS数据库详情页面的迁移可用区是什么意思?

2020-12-28 19:41:21 484浏览量 回答数 1

2

回答

求教大牛们,linux下JNI调用.so方法导致虚拟机崩溃,跪求指点啊

2017-06-18 02:21:34 2838浏览量 回答数 2

1

回答

在使用大数据开发套件时,RDS同步失败,提示请检查您的账号、密码、数据库名称等;

2017-06-09 16:05:25 3278浏览量 回答数 1

0

回答

请问怎么使用天池平台数据集里的全量数据?

2016-10-28 10:47:50 8231浏览量 回答数 0

1

回答

struts json 是什么意思

2016-07-07 16:35:51 1768浏览量 回答数 1

1

回答

请问java后台怎样传json格式的数据呢?需要什么格式化之类的吗

2016-05-27 09:21:22 2553浏览量 回答数 1
+关注
杨冬芳
IT从业
1
文章
9167
问答
问答排行榜
最热
最新
相关电子书
更多
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
冬季实战营第三期:MySQL数据库进阶实战
立即下载