溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Struts2怎么返回json格式的數(shù)據(jù)

發(fā)布時間:2021-03-10 16:39:40 來源:億速云 閱讀:241 作者:TREX 欄目:編程語言

這篇文章主要介紹“Struts2怎么返回json格式的數(shù)據(jù)”,在日常操作中,相信很多人在Struts2怎么返回json格式的數(shù)據(jù)問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”Struts2怎么返回json格式的數(shù)據(jù)”的疑惑有所幫助!接下來,請跟著小編一起來學(xué)習(xí)吧!

JS是什么

JS是JavaScript的簡稱,它是一種直譯式的腳本語言,其解釋器被稱為JavaScript引擎,是瀏覽器的一部分,主要用于web的開發(fā),可以給網(wǎng)站添加各種各樣的動態(tài)效果,讓網(wǎng)頁更加美觀。


關(guān)于json的返回需要用到一個工具包來將書轉(zhuǎn)換為json格式,在此用到的jar包為:

 import net.sf.json.JSONArray;  //將數(shù)據(jù)轉(zhuǎn)換為JSON數(shù)組
 import net.sf.json.JSONObject;  //將數(shù)據(jù)轉(zhuǎn)換為JSON對象

dao層的代碼

public class ProInfomaDao extends HibernateDaoSupport {
 private Logger logger = Logger.getLogger(ProInfomaDao.class);
  /**
   * 查詢所有數(shù)據(jù)
   * @return
   */
  @SuppressWarnings("unchecked")
  public List<BanknameDto> selBankList() {
    String sql = "SELECT DISTINCT ENAME FROM PM_PROINFO";            //填寫對應(yīng)的SQL語句
    List<String> queryList = getSession().createSQLQuery(sql).list();
    List<BanknameDto> bankList = new ArrayList<BanknameDto>();
    queryList.add(0, "--請選擇--");
    BanknameDto bankDto = null;
    if(queryList.size() == 0){
      logger.info("查不到相關(guān)信息!");
    }else{
      for(int i = 0;i < queryList.size();i++){
        bankDto = new BanknameDto();
        if(i == 0){
          bankDto.setId(String.valueOf(i+1));
          bankDto.setText(queryList.get(i));
          bankDto.setSelected("true");
        }else{
          bankDto.setId(String.valueOf(i+1));
          bankDto.setText(queryList.get(i));
        }
        bankList.add(bankDto);
      }
    }
    return bankList;                    //此處用到hibernate來查詢數(shù)據(jù),返回結(jié)果為一個[demo1,demo2,demo3]的List集合
  }
}

service層代碼

public class ProInfomaService {
  private ProInfomaDao proInfomaDao;
  public void setProInfomaDao(ProInfomaDao proInfomaDao) {
    this.proInfomaDao = proInfomaDao;
  }
  /**
   * 查詢數(shù)據(jù)
   * @return
   */
  public List<BanknameDto> selBankList(){
    return proInfomaDao.selBankList();
  }
}

web層

public class ProInfomaAction extends ActionSupport implements ServletRequestAware{
  private static final long serialVersionUID = 1L;
  private ProInfomaService proInfomaService;
  private Map<String, Object> resultMap = new HashMap<String, Object>();  
  private JSONObject dataroot;                  
  private JSONArray bankroot;                  //此處要返回的屬性名稱,以bankroot為例,要與struts中
  private JSONArray projroot;                  //<param name="root">bankroot</param>且提供get set方法
  private HttpServletRequest request;

  /**
   * 查詢銀行名稱
   * @return
   */
  public String selBankList() {
    List<BanknameDto> selBank = proInfomaService.selBankList();
    bankroot = JSONArray.fromObject(selBank);
    return SUCCESS;
  }

  public JSONArray getBankroot() {
    return bankroot;
  }

  public void setBankroot(JSONArray bankroot) {
    this.bankroot = bankroot;
  }
  @Override
  public void setServletRequest(HttpServletRequest request) {
    this.request = request;
  }
}

struts2中action的配置

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.1//EN" "http://struts.apache.org/dtds/struts-2.1.dtd">
<struts>
  <package name="proInfo" namespace="/" extends="json-default">
   <!--此處返回json只可以用json-default result結(jié)果集可以改變返回參數(shù)的名稱 -->
    <action name="query" class="noticeAction" method="selBankList">
      <result name="success" type="json">
      </result>
      <result name="returnMap" type="json">
        <param name="root">bankroot</param>              
      </result>
    </action>
</struts>

到此,關(guān)于“Struts2怎么返回json格式的數(shù)據(jù)”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識,請繼續(xù)關(guān)注億速云網(wǎng)站,小編會繼續(xù)努力為大家?guī)砀鄬嵱玫奈恼拢?/p>

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI