动态echart,ajax总是进入error方法,ssh项目

搭建了ssh框架,配置文件都配置好了,后台也有json数据,就是从后台返回前端ajax的时候,总是进入error方法!!!另外,我感觉很奇怪,明明响应的的方法为空,居然还能有sql和json输出。project-clean选项没有当前的项目。但是2次tomcat的clean都清理了,还是可以打印出原方法的sql、json,但是我为了测全清空了

public class userAction extends ActionSupport implements ModelDriven<User>{
    private User u = new User();
    /**
     * 模型驱动 封装用户,必须手动new javabean
     */
    @Override
    public User getModel() {
        // TODO Auto-generated method stub
        return u;
    }
    // 提供service的成员属性,提供set方法
    private UserService userService;
    public void setUserService(UserService userService) {
        this.userService = userService;
    }

    /**
     * echart
     */
    public String list(){

           System.out.println("a");
            return null;  
      这里的代码清空了还是一样有sql输出,请问这部分的代码要怎么传json到前端?用了jsonArray工具是获取到了json,但是servletActionContext传到前端ajax就进入error方法
        }
    }
qq_34565245
qq_34565245 我的Q1479756648,真心求解,如果有朋友知道的指导下,非常感谢
9 个月之前 回复

1个回答

<body>
    <div id="chartmain" style="width: 600px; height: 400px;"></div>
</body>
<script type="text/javascript">
    //初始化echarts
    function chushihua(myChart){
        var option = {
            title:{
                text:'ECharts 数据统计'
            },            
            series:[{
                name:'访问量',
                type:'pie', 
                radius:'90%', 
                data:[
                    {value:0,name:'无'},
                ]
            }]
        };

        myChart.setOption(option);   
    }

    //从数据库读取数据赋值给echarts
    function fuzhi(myChart){
        $.ajax({
            contentType : "application/json",
            type : "GET",
            url : "${pageContext.request.contextPath}/user_list.action",
            dataType : "json",
            success : function(data) {
                //创建一个数组,用来装对象传给series.data,因为series.data里面不能直接鞋for循环
                var servicedata=[];

                for(var i=0;i<data.length;i++){
                    var obj=new Object();
                    obj.name=data[i].username; 
                    obj.value=data[i].age;
                    servicedata[i]=obj;
                }

                myChart.setOption({
                    title:{
                    text:'ECharts 数据统计'
                    },            
                    series:[{
                        name:'访问量',
                        type:'pie', 
                        radius:'60%', 
                        data:servicedata
                    }]

                });

            }
        });
    }

    //初始化echarts实例
    var myChart = echarts.init(document.getElementById('chartmain'));
    chushihua(myChart);
    fuzhi(myChart);    

</script>
</html>

这是jsp页面
------------------------------2019年1月13日更新
eclipse---Project---properties----builders,注意这里的勾,特别是javabulder一定要勾上!我就是因为js老是验证不成功,百度说是builder问题,然后就把勾全部去了,所以一直运行以前的方法!!!

第二个问题就是,ssh中json问题的传输。以前用的是jsonlib,现在用fastjson,非常好使,前端不变,后台:
List user = userService.findAll();
String jsonString = FastJsonUtil.toJSONString(user);
HttpServletResponse response = ServletActionContext.getResponse();
FastJsonUtil.**write_json**(response, jsonString);

//输出json
public static void write_json(HttpServletResponse response,String jsonString)
{
response.setContentType("application/json;utf-8");
response.setCharacterEncoding("UTF-8");
try {
response.getWriter().print(jsonString);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

    第三个问题就是map集合中,put方法,value相同,有可能是会覆盖key
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!