Struts2 JSON не возвращает значение из переменной - PullRequest
0 голосов
/ 06 февраля 2012

Я делаю свой проект Struts, теперь я хочу получить данные как json.Но переменная, которую я хочу получить в ответе json, не извлекает значения json, которые мне нужны.

Вот мой класс Action

import com.myDrDirect.hbmobj.Doctor;
import com.myDrDirect.order.dao.DoctorDashBoardDao;
import com.opensymphony.xwork2.ActionContext;
import com.opensymphony.xwork2.ActionSupport;
import java.util.List;
import java.util.Map;

public class patientOrderDetails extends ActionSupport {
    private int rows;
    private int total;
    private int records;
    private int page;
    private List recentOrders;
    public String jsonRecentOrderDetails() {

         try{
            Map sessionSingleDoctor = ActionContext.getContext().getSession();
            Doctor SessionObj = (Doctor) sessionSingleDoctor.get("Doctor");

          records = DoctorDashBoardDao.getInstance().getCount();
            //records = 10;
             setRows(Integer.parseInt(getText("number.rows.per.page")));
        //rows = 10;
            int to = (getRows() * getPage());
            int from = (getRows() * (getPage()-1));


            total =(int) Math.ceil((double)records / (double)rows);   
            recentOrders= DoctorDashBoardDao.getInstance().getDoctorRecentOrderDetails(rows,from,SessionObj.getId());


     } catch (Exception e) {
            e.printStackTrace();
            System.out.println(e.getCause());
            //log.error("Error occured " + e.toString());
            return ERROR;
        }
          return SUCCESS;
     }

    public int getRows() {
        return rows;
    }

    public void setRows(int rows) {
        this.rows = rows;
    }

    public int getPage() {
        return page;
    }

    public void setPage(int page) {
        this.page = page;
    }

    public int getRecords() {
        return records;
    }

    public void setRecords(int records) {
        this.records = records;
    }

    public int getTotal() {
        return total;
    }

    public void setTotal(int total) {
        this.total = total;
    }

    public List getRecentOrders() {
        return recentOrders;
    }

    public void setRecentOrders(List recentOrders) {
        this.recentOrders= recentOrders;
    }


}

, а мой struts.xml имеет

<package name="json" extends="json-default">

            <action name="DashBoardActivityJson" class="com.myDrDirect.doctor.action.patientOrderDetails" method="jsonRecentOrderDetails">
                <result name="success" type="json">
                    <!-- serialize the result property of the action -->                    
                    <param name="includeProperties">recentOrders</param>

                </result>
            </action>
            <action name="grid" >
                <result name="success" >/WEB-INF/doctor/jsonGrid.jsp</result>
            </action>
        </package>

Мне нужно получить ответ в RecentOrders1 varable, но эта переменная неполучить данные JSON.Когда я получаю переменную records, я получаю ответ правильно.Записывающее устройство имеет только общий счет в списке, но RecentOrder1 возвращает список.Мне нужно получить недавний заказ в виде списка на странице просмотра.Может кто-нибудь, пожалуйста, скажите мне, что является проблемой в вышеупомянутом действии или файле XML.Пожалуйста, помогите.

Одна вещь, которую я заметил здесь, это возвращаемое значение в RecentOrder это список.Нужно ли конвертировать этот список в строку JSON.Это необходимо, или struts2 автоматически меняет мою переменную списка в строку json?

1 Ответ

0 голосов
/ 06 февраля 2012

У вашего действия нет свойства RecentOrders1, только recentOrders.

Обратите внимание как на заглавные буквы, так и на отсутствие цифры.

...