最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Struts2返回json格式數(shù)據(jù)代碼實例

 更新時間:2020年04月07日 11:31:08   作者:Chsoul''S Blog  
這篇文章主要介紹了Struts2返回json格式數(shù)據(jù)代碼實例,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下

最近由于工作原因,沒時間更新,開始吧~~

關(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>

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • Java使用synchronized修飾方法來同步線程的實例演示

    Java使用synchronized修飾方法來同步線程的實例演示

    synchronized下的方法控制多線程程序中的線程同步非常方便,這里就來看一下Java使用synchronized修飾方法來同步線程的實例演示,需要的朋友可以參考下
    2016-06-06
  • SpringBoot集成Kaptcha驗證碼的詳細過程

    SpringBoot集成Kaptcha驗證碼的詳細過程

    Kaptcha是一個強大而靈活的Java驗證碼生成庫,通過合理的配置和使用,它可以有效地提高web應(yīng)用的安全性,防止自動化程序的濫用,這篇文章主要介紹了SpringBoot集成Kaptcha驗證碼,需要的朋友可以參考下
    2024-07-07
  • Spring?Aop常見注解與執(zhí)行順序詳解

    Spring?Aop常見注解與執(zhí)行順序詳解

    這篇文章主要給大家介紹了關(guān)于Spring?Aop常見注解與執(zhí)行順序的相關(guān)資料,文中通過圖文以及實例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2022-02-02
  • Java多線程 ReentrantLock互斥鎖詳解

    Java多線程 ReentrantLock互斥鎖詳解

    這篇文章主要介紹了Java多線程 ReentrantLock互斥鎖詳解,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2019-09-09
  • Java 利用棧來反轉(zhuǎn)鏈表和排序的操作

    Java 利用棧來反轉(zhuǎn)鏈表和排序的操作

    這篇文章主要介紹了Java 利用棧來反轉(zhuǎn)鏈表和排序的操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-02-02
  • Java設(shè)計模式中的代理設(shè)計模式詳細解析

    Java設(shè)計模式中的代理設(shè)計模式詳細解析

    這篇文章主要介紹了Java設(shè)計模式中的代理設(shè)計模式詳細解析,代理模式,重要的在于代理二字,何為代理,我們可以聯(lián)想到生活中的例子,比如秘書、中介這類職業(yè),我們可以委托中介去幫我們完成某些事情,而我們自己只需要關(guān)注我們必須完成的事情,需要的朋友可以參考下
    2023-12-12
  • 通過簡單方法實現(xiàn)spring boot web項目

    通過簡單方法實現(xiàn)spring boot web項目

    這篇文章主要介紹了通過簡單方法實現(xiàn)spring boot web項目,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-09-09
  • 實戰(zhàn)講解Maven安裝及基本使用詳解

    實戰(zhàn)講解Maven安裝及基本使用詳解

    這篇文章主要介紹了實戰(zhàn)講解Maven安裝及基本使用詳解,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-10-10
  • java程序運行時內(nèi)存分配詳解

    java程序運行時內(nèi)存分配詳解

    這篇文章主要介紹了java程序運行時內(nèi)存分配詳解 ,需要的朋友可以參考下
    2016-07-07
  • java實現(xiàn)簡單年齡計算器

    java實現(xiàn)簡單年齡計算器

    這篇文章主要為大家詳細介紹了java實現(xiàn)簡單年齡計算器,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-05-05

最新評論

克山县| 庆阳市| 仲巴县| 德庆县| 达孜县| 定西市| 昂仁县| 南部县| 简阳市| 钟山县| 璧山县| 卫辉市| 宁海县| 南通市| 万全县| 区。| 铜川市| 长武县| 云安县| 睢宁县| 台南县| 浦北县| 舞钢市| 垣曲县| 班戈县| 浦江县| 安康市| 连江县| 波密县| 吉林省| 宾阳县| 西青区| 祁门县| 普安县| 乡宁县| 南澳县| 平罗县| 呼和浩特市| 宿迁市| 达州市| 福贡县|