struts中使用json

struts中使用json的路程为前台发出请求后台从数据库中查询出数据然后转化为json字符串,前台页面中解析json字符串从而完成一个请求。下边就按照这个逻辑来示例json的基础使用。

1、前台jsp界面

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@ taglib prefix="s" uri="/struts-tags"%>
<%
	String path = request.getContextPath();
	String basePath = request.getScheme() + "://"
			+ request.getServerName() + ":" + request.getServerPort()
			+ path + "/";
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">
<script src="js/jquery-1.8.3.min.js">
	
</script>
<script>
		$.post("homePagePictureAction" , 
				 {
					"page" : "001",
					"position" : "00101" 
				}, 
			// 指定回调函数
			function(data)
			{ 
			    var array = data.picture;
				<span style="color:#ff0000;">var json1=eval("("+array+")");</span>
				
				$("<img class='para' />").attr("src", json1[0].path).appendTo("#show");
				
				$("#show").append("--------as121312df-----------"+typeof(json1[0].alt) + "----"+ json1[0].alt);
			},
			// 指定服务器响应为JSON数据
			"json");
		
</script>
</head>
<body>

	<button>向页面发送 HTTP POST 请求,并获得返回的结果</button>
	<div id="show">
	</div>

</body>
</html>
2、后台action

/**
 * 
 */
package com.artpri.action;

import java.util.List;

import org.apache.struts2.json.annotations.JSON;

import com.opensymphony.xwork2.Action;

/**
 * 从数据库中取到首页图片相关信息
 * @author 王校兵
 * @version 1.0, 2016-2-28
 */
public class HomePagePictureAction extends BaseAction{
	
	private String page;
	private String position;


	/**
	 * 经查询返回数据库中指定页面指定位置的的图片的信息
	 * */
	private String picture;
	
	/**
	 * 处理从数据库中取到图片相关信息的逻辑跳转
	 * @return 跳转页面所对应的代码
	 */
	public String execute(){
		picture = getHomePagePictureService().getHomePagePicture(page, position);
		return Action.SUCCESS;
	}
	
	public List getHomePagepicture() {
		return homePagepicture;
	}
	
	public String getPicture() {
		return picture;
	}

	public void setHomePagepicture(List homePagepicture) {
		this.homePagepicture = homePagepicture;
	}

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


	public void setPicture(String picture) {
		this.picture = picture;
	}

	public void setPosition(String position) {
		this.position = position;
	}
	
}
2、Service层
<pre name="code" class="java">/**
 * 
 */
package com.artpri.service.impl;

import java.util.List;

<span style="color:#ff0000;">import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;</span>

import com.artpri.service.HomePagePictureService;
import com.artpri.util.JsonTools;

/**
 * 继承自HomePagePictureService并且实现其中的方法
 * @author 王校兵
 *
 */
public class HomePagePictureServiceImpl extends BaseService implements HomePagePictureService {

	@Override
	public String getHomePagePicture(String page, String position) {
		// TODO Auto-generated method stub
		position = position + "%";
		
		List li = getHomePagePictureDao().getHomePagePicture(page, position);
		
		JSONArray array = new JSONArray();
		
		for (int i = 0; i < li.size(); i++) {
            Object[] obj = (Object[]) li.get(i);
            
           <span style="color:#ff0000;"> JSONObject jsonObject = new JSONObject(); </span>
            jsonObject.put("path", obj[0]);
            jsonObject.put("alt", obj[1]);
            jsonObject.put("url", obj[2]);
            <span style="color:#ff0000;">array.put(jsonObject);</span>
        }
		System.out.println("array-------" + array);
		
		return array.toString();
	}

}
3、配置struts.xml
<pre name="code" class="html"><?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>
	<!--下述语句是将struts2交给spring管理 -->
	<constant name="struts.objectFactory" value="spring" />

	<!-- 当struts配置文件发生改变时系统是否重新加载该文件 -->
	<constant name="struts.configuration.xml.reload" value="false" />

	<!-- 开发模式下使用,这样可以打印出更详细的错误信息 -->
	<constant name="struts.devMode" value="true" />
	<span style="color:#ff0000;"><constant name="struts.i18n.encoding" value="UTF-8"/></span>

	<package name="welcome" extends="<span style="color:#ff0000;">json-default</span>" namespace="/">
	
		<action name="homePagePictureAction" class="homePagePictureAction">
			<result type="json">
			<param name="noCache">true</param>
			<param name="contentType">text/html</param>
			</result>
		</action>
		
	</package>

</struts>    

经过以上配置这样就可以使用json了

 
<strong><u><span style="font-size:32px;color:#ff0000;">注意:文中红色部分一定要注意</span></u></strong>



 



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值