最近由于工作原因,没时间更新,开始吧~~

关于json的返回需要用到一个工具包来将书转换为json格式,在此用到的jar包为:

 import net.sf.json.JSONArray;  //将数据转换为JSON数组
import net.sf.json.JSONObject;  //将数据转换为JSON对象

dao层的代码

 public class ProInfomaDao extends HibernateDaoSupport {
private Logger logger = Logger.getLogger(ProInfomaDao.class);
  /**
* 查询所有数据
* @return
*/
@SuppressWarnings("unchecked")
public List<BanknameDto> selBankList() {
String sql = "SELECT DISTINCT ENAME FROM PM_PROINFO";            //填写对应的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("查不到相关信息!");
}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来查询数据,返回结果为一个[demo1,demo2,demo3]的List集合
}
}

service层代码

 public class ProInfomaService {
private ProInfomaDao proInfomaDao;
public void setProInfomaDao(ProInfomaDao proInfomaDao) {
this.proInfomaDao = proInfomaDao;
} /**
* 查询数据
* @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结果集可以改变返回参数的名称 -->
<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>
 
 
 
 
 
 

Struts2 返回 json 格式数据的更多相关文章

  1. Struts2返回json格式数据踩坑记录

    事件起因 昨天提测修改冻结/解冻银行卡样式的功能,微姐测试过程中发现调用ajax请求耗时过长,今天来排查,发现浏览器请求/finance/ajax/freeze/ajaxGetShopLists时,对 ...

  2. 使用jQuery发送POST,Ajax请求返回JSON格式数据

    问题: 使用jQuery POST提交数据到PHP文件, PHP返回的json_encode后的数组数据,但jQuery接收到的数据不能解析为JSON对象,而是字符串{"code" ...

  3. Spring MVC 学习笔记11 —— 后端返回json格式数据

    Spring MVC 学习笔记11 -- 后端返回json格式数据 我们常常听说json数据,首先,什么是json数据,总结起来,有以下几点: 1. JSON的全称是"JavaScript ...

  4. 返回json格式数据乱码

    本文为博主原创,未经允许不得转载: 原本返回json格式数据的代码: @ResponseBody @RequestMapping(value = "getListByTime", ...

  5. WebService返回json格式数据供苹果或者安卓程序调用

    1.新建一个WebService. 2. /// <summary> /// DemoToJson 的摘要说明 /// </summary> [WebService(Names ...

  6. Django 1.8.11 查询数据库返回JSON格式数据

    Django 1.8.11 查询数据库返回JSON格式数据 和前端交互全部使用JSON,如何将数据库查询结果转换成JSON格式 环境 Win10 Python2.7 Django 1.8.11 返回多 ...

  7. ajax请求后台,返回json格式数据,模板!

    添加一个用户的时候,需要找出公司下所有的部门,和相应部门下的角色,利用ajax请求,实现联动技术.将返回的json格式数据,添加到select标签下. <script type="te ...

  8. 如何让webapi只返回json格式数据

    最近脑子不好用,总记不住事,以前搞过让webapi只返回json格式的数据,今天有人问我又突然想不起了,后来总结一下,备忘一下,大概有下面几种处理方式 1.在WebApiConfig类的Registe ...

  9. springmvc通过ajax异步请求返回json格式数据

    jsp 首先创建index.jsp页面 <script type="text/javascript"> $(function () { $("#usernam ...

随机推荐

  1. <自动化测试方案_7>第七章、PC端UI自动化测试

    第七章.PC端UI自动化测试 UI自动化测试又分为:Web自动化测试,App自动化测试.微信小程序.微信公众号UI层的自动化测试工具非常多,比较主流的是UFT(QTP),Robot Framework ...

  2. Linux网络基本网络配置方法介绍

    网络信息查看 设置网络地址: cat /etc/sysconfig/network-scripts/ifcfg-eth0 你将会看到: DEVICE=eth0BOOTPROTO=staticsHWAD ...

  3. HTTP中GET和POST的区别主要是那些,面试中可以加分的该说那些?

    面试回答: GET请求在URL中传送的参数是有长度限制的,而POST没有. GET比POST更不安全,因为参数直接暴露在URL上,所以不能用来传递敏感信息. GET参数通过URL传递,POST放在Re ...

  4. Postgresql数据库部署之:Postgresql 存在session 会话不能删除数据库

    SELECT pg_terminate_backend(pid) FROM pg_stat_activity WHERE datname='数据库名' AND pid<>pg_backen ...

  5. 使用docker快速搭建nginx+php环境

    在朋友的强烈推荐下,走上了docker之路.经过了繁琐的docker环境安装,看了下镜像/容器的简单使用,开始进行nginx+php环境的搭建,本文记录一下在安装过程中的笔记. 原文地址:代码汇个人博 ...

  6. Navicat Premium 12.1.16.0安装与激活

    声明:本文所提供的所有软件均来自于互联网,仅供个人研究和学习使用,请勿用于商业用途,下载后请于24小时内删除,请支持正版! 本文介绍Navicat Premium 12的安装.激活与基本使用.已于20 ...

  7. [十二省联考2019]D1T2字符串问题

    嘟嘟嘟 省选Day1真是重大失误,T2连暴力都没时间写. 上周五重新答了遍Day1,竟然搞了187分吼吼吼吼. T2按40分写的暴力,结果竟然得了60分. 稍微说一下暴力吧:预处理哈希,对于一组支配关 ...

  8. 企业移动化?AppCan教你正确的打开方式

    七分选型.三分软件.的确,在过去的企业移动化进程中,由于选型失败导致信息系统实施失败的案例屡见不鲜.而在当今的移动互连和大数据时代,移动化已经是企业必然的选择. 那么,什么是企业移动化呢?怎样才是企业 ...

  9. 利用Python爬取网页图片

    最近几天,研究了一下一直很好奇的爬虫算法.这里写一下最近几天的点点心得.下面进入正文: 你可能需要的工作环境: Python 3.6官网下载 我们这里以sogou作为爬取的对象. 首先我们进入搜狗图片 ...

  10. fuel一键部署openstack

    一.安装环境: 1. 所需物理主机的要求如下 内存:8GB+,推荐16GB:(少于8GB的就免谈了) 磁盘:500GB+: 物理机OS:ubuntu-desktop-amd64 14.04(推荐) 或 ...