2 yjwzsrzj YJWZSRZJ 于 2017.09.01 19:38 提问

json ssh ztree 无数据返回到页面
 package com.action;

import java.io.PrintWriter;
import java.util.ArrayList;
import java.util.List;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.apache.struts2.ServletActionContext;
import org.apache.struts2.convention.annotation.Action;
import org.apache.struts2.convention.annotation.Result;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.query.Query;
import org.springframework.beans.factory.annotation.Autowired;

import com.alibaba.fastjson.JSON;
import com.base.BaseService;
import com.entity.Administrator;
import com.entity.PowerEntity;
import com.instrument.Parameter;

public class IndexAction {
    @Autowired
    BaseService baseservice;

    @Autowired
    SessionFactory sessionFactory;

    List<String> pnamelist = new ArrayList<String>();

    List<ZtreeJS> ztreelist = null;

    @Action(value = "index", results = { @Result(name = "success", location = "/WEB-INF/jsp/index.jsp"),
            @Result(name = "defeated", location = "/login.jsp") })
    // 登录的方法
    public String index() {
        HttpServletRequest request = ServletActionContext.getRequest();
        Parameter.CoustomParameter(Administrator.class, request);
        String hql = "from admin where account=? and apassword=? ";
        Session session = sessionFactory.openSession();
        Query<Administrator> query = session.createQuery(hql);
        query.setParameter(0, request.getParameter("username"));
        query.setParameter(1, request.getParameter("password"));
        List<Administrator> adminlist = query.list();
        if (adminlist.size() > 0) {
            System.err.println("登录成功");
            session.close();
            for (Administrator administrator : adminlist) {
                qureyPostId(administrator.getAid());
            }
            return "success";
        } else {
            System.err.println("登录失败");
            session.close();
            return "defeated";
        }

    }

    public void qureyPostId(int uid) {
        List<Integer> pidlist = new ArrayList();
        Session session = sessionFactory.openSession();
        Query<Object[]> query = session.createQuery("select r.rid from role r  join r.listadmin u  where u.aid=" + uid);
        List<Object[]> userlist = query.list();
        for (Object ob : userlist) {
            pidlist.add((Integer) ob);
            session.close();
        }
        qureyjuriId(pidlist);
        session.close();
    }

    public void qureyjuriId(List<Integer> pidlist) {
        List<Integer> powerlist = new ArrayList();
        Session session = sessionFactory.openSession();
        int pidlsitsize = pidlist.size() - 1;
        Query<Object[]> query = session.createSQLQuery("select pid from role_power p where rid=" + pidlist.get(pidlsitsize));
        List<Object[]> userlist = query.list();
        for (Object ob : userlist) {
            powerlist.add((Integer) ob);
            session.close();
        }
        qureyjuriName(powerlist);
        session.close();
    }

    public void qureyjuriName(List<Integer> jidlist) {
        pnamelist = new ArrayList();
        Session session = sessionFactory.openSession();
        for (Integer integer : jidlist) {
            Query<PowerEntity> query = session.createQuery("from power p where p.pid=" + integer);
            List<PowerEntity> userlist = query.list();
            for (PowerEntity ob : userlist) {
                pnamelist.add(ob.getPname());
            }
        }
        for (String integer : pnamelist) {
            System.out.println(integer);
        }
        session.close();
    }

    @Action(value = "ztree")
    public void ztree() {
        HttpServletResponse response = ServletActionContext.getResponse();
        List<ZtreeJS> ztreelist = new ArrayList<ZtreeJS>();
        for (String string : pnamelist) {
            ZtreeJS z = new ZtreeJS();
            z.setName(string);
            ztreelist.add(z);
        }
        String data = JSON.toJSONString(ztreelist);
        try {
            response.setCharacterEncoding("UTF-8");
            PrintWriter out = response.getWriter();
            out.write(data);
            out.flush();
            out.close();
        } catch (Exception e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }

}

 后台查询有数据,前台接收不了,
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
SSH+ztree+ajax+json
看到网络上有许多入门ztree代码,但是一般结构不是很清晰 所以自己做了一个入门还是很不错的 SSH + ajax + json + ztree 喜欢就下载吧
ssh 中 jquery ajax 调用action返回的json数据并传递到页面
$(document).ready(      function(){  $("#btnOK").click(function() {           $.ajax({                            type: "post",                            url: "/WebContent/testByAction.action"
servlet对象通过json返回到前台页面并展示
1、实体类 [java] view plaincopyprint? import java.util.ArrayList;    public class ObjectType {        private String type;      private ArrayList subObjects;      public String getType() {  
使用spring data jap 中的的分页操作没有json数据返回
虽然使用spring-data jpa能够使得持久层的开发简单很多,但是也有很多需要注意的地方,例如进行分页操作的时候... 此处没有注意的话....则会查询不到数据,,并且后台显示(且并不会报错...) 因为...在PageRequest类中,计算的页码是从0开始的,而前端最小的页面则是1!!! 所以,应该改为: (ps:另附大神的一篇文章,介绍关于sprin
java将数据以json的格式返回到前台并解析
后台将对象数组转化为json格式数据返回到前台JSONArray jsonarray = JSONArray.fromObject(object);response.setContentType(&quot;text/html;charset=UTF-8&quot;);try {    response.getWriter().print(jsonarray);    System.out.println(jsona...
ssh 返回数据时显示成页面
// 这样还是会返回页面 <button onclick="save();" class='application'>确认</button>// 这样不会返回页面 <button onclick="save();return false" class='application'>确认</button>
SSH整合--Action返回Json数据方法(8)
Action返回Json数据方法        在网页里面,通常需要从数据库获得数据,然后返回前台Json格式的数据,通过以下方法,便可以在SSH框架里的Action对象中,将获得的数据转换成Json数据。 1.导包。 将以下的包导入到项目中: 注意:其中commons-logging-1.1.1.jar这个包与之前整合SSH导入的包有冲突,因此删除版本低的那个。 2.Act
springmvc 返回json到前台出现乱码
springmvc 返回json到前台出现乱码,在后台方法上加上以下红色部分代码    @GetMapping(value = "/menu/query",produces = "text/json;charset=UTF-8")
json数据返回到web端
/** * * @param @param returnStr 设定文件 * @return void 返回类型 * @Description: json数据返回到web端 * @throws */ public void sendJSONWeb(String returnStr) { try {
SpringMVC Controller后台返回Json到前台乱码问题
乱码问题主要是字符编码的问题可通过指定字符格式来解决,不多说,直接上图 @RequestMapping(value = { &quot;json&quot; } ,produces = &quot;application/json; charset=utf-8&quot;) @ResponseBody public String json(Operation operation,Model model,HttpServletReques...