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

关于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. 3.SDL落地方案

    01.安全培训 安全意识培训(全员) 邮件安全 钓鱼邮件 邮件伪造 第三方转存 检查发件人 开启二次验证 邮件转发 第三方代收 邮件附件敏感信息加密 病毒防范 什么是木马病毒 我安装哪些杀毒软件? 定 ...

  2. Android项目实战登录&注册

    由于项目中大部分界面都有一个后退键和一个标题栏,为避免代码冗杂以及便于利用,我们可以将后推荐和标题栏单独抽取出来定义一个标题栏布局,在 res/layout 目录下新建一个 Layout resour ...

  3. The xp_cmdshell proxy account information cannot be retrieved or is invalid. Verify that the '##xp_cmdshell_proxy_account##' credential exists and contains valid information.

    In one of our recent migrations, we got the following error when the client tried to fire xp_cmdshel ...

  4. SQL Server创建Job, 实现执行相同脚本而产生不同作业计划的探究

    1 . 背景描述 本公司的SQL Server 服务器近百台,为了收集服务器运行的状态,需要在各个实例上部署监控Job,将收集到的信息推送到中央管理服务器. 收集的信息主要包括:慢查询.阻塞.资源等待 ...

  5. python开发之路-LuffyCity

    阅读目录 一.python基础语法 二.python基础之字符编码 三.python基础之文件操作 四.python基础小练习 五.python之函数基础 六.python之函数对象.函数嵌套.名称空 ...

  6. node js 异步运行流程控制模块Async介绍

    1.Async介绍 sync是一个流程控制工具包.提供了直接而强大的异步功能.基于Javascript为Node.js设计,同一时候也能够直接在浏览器中使用. Async提供了大约20个函数,包含经常 ...

  7. 编译安装redis-5.0.4

    编译安装为redis官方推荐安装方式. 本例中使用linux版本为:CentOS Linux release 7.0.1406 (Core),Basic Web Server 一.安装依赖包 yum ...

  8. 2019年3月8日_CCF-A类文章分享

    3月8日下午3点开始,王利朋老师主持实验室会议,实验室全体人员参加.首先王利朋老师就基全本子存在的问题进行了再一次的说明以及如何修改部分内容, 其次,王利朋老师对近段时间做了相关工作总结和下阶段任务分 ...

  9. 15 Django REST Framework 给api添加自定义搜索条件

    一.ListModelMixin源码 # 源码 class ListModelMixin(object): """ List a queryset. "&quo ...

  10. java基础-03基本语法

    关键词 常用关键字53个(含2个保留字): 1.保留关键字(2个) const --常量 常数:用于修改字段或局部变量的声明. goto--转到 指定跳转到标签,找到标签后,程序将处理从下一行开始的命 ...