eclipse ssh json

在搭建好的基础上需要做很多东西,比如使用json交换数据,今天实现了一个最简单的例子


1.编写实体类

Image

package com.ssh.beans;

public class Image {
	
	private int id;
	private String imagePath;
	public int getId() {
		return id;
	}
	public void setId(int id) {
		this.id = id;
	}
	public String getImagePath() {
		return imagePath;
	}
	public void setImagePath(String imagePath) {
		this.imagePath = imagePath;
	}
	

}
编写对应的Image.hbm.xml

<?xml version="1.0" encoding='UTF-8'?>
<!DOCTYPE hibernate-mapping PUBLIC 
"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd" >

<hibernate-mapping package="com.ssh.beans">
	<class name="Image" table="image">
		<id name="id" column="id">
			<generator class="native"></generator>
		</id>
		<property name="imagePath" column="imagepath" type="java.lang.String"
			not-null="true" length="100"></property>
	</class>
</hibernate-mapping>

2.编写dao类

dao接口:

package com.ssh.dao;

import java.util.List;

import com.ssh.beans.Image;

public interface ImageDao {
	 void saveObject(Object obj);
	
	List<Image> getList();
}

daoImpl类

package com.ssh.daoImpl;

import java.util.List;

import org.springframework.orm.hibernate3.support.HibernateDaoSupport;

import com.ssh.beans.Image;
import com.ssh.dao.ImageDao;

public class ImageDaoImpl extends HibernateDaoSupport implements ImageDao {

	@Override
	public void saveObject(Object obj) {
		// TODO Auto-generated method stub
		 getHibernateTemplate().save(obj);
	}

	@Override
	public List<Image> getList() {
		// TODO Auto-generated method stub
		
		return this.getHibernateTemplate().find("from Image");
	}

}

3.业务逻辑类

接口:

package com.ssh.service;

import java.util.List;

import com.ssh.beans.Image;
import com.ssh.forms.UploadImageForm;

public interface ImageManager {
  
	 boolean uploadImage(UploadImageForm image);
	
	 List<String> ListImage();
}

实现类

package com.ssh.serviceImpl;

import java.util.ArrayList;
import java.util.List;

import com.ssh.beans.Image;
import com.ssh.dao.ImageDao;
import com.ssh.forms.UploadImageForm;
import com.ssh.service.ImageManager;

public class ImageMangerImpl implements ImageManager {

	private ImageDao dao;
	@Override
	public boolean uploadImage(UploadImageForm image) {
		// TODO Auto-generated method stub
		return false;
	}
	public ImageDao getDao() {
		return dao;
	}
	public void setDao(ImageDao dao) {
		this.dao = dao;
	}
	@Override
	public List<String> ListImage() {
		// TODO Auto-generated method stub
 		List<String> imagePaths = new ArrayList<String>();
		List<Image> images = dao.getList();
 		for (int i = 0; i < images.size();i++)
 		{
 			imagePaths.add(images.get(i).getImagePath());
 		}
		return imagePaths;
	}

}

4.action类

package com.ssh.action;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import com.opensymphony.xwork2.ActionSupport;
import com.ssh.service.ImageManager;
 

public class ImageAction extends ActionSupport{

	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;
	
	private ImageManager imageManger;
	
	private String imagePath;
	
	private String imagePaths;
    
	
	
	public ImageManager getImageManger() {
		return imageManger;
	}

	public void setImageManger(ImageManager imageManger) {
		this.imageManger = imageManger;
	}

	public String getImagePath() {
		return imagePath;
	}

	public void setImagePath(String imagePath) {
		this.imagePath = imagePath;
	}

	public String getImagePaths() {
		return imagePaths;
	}

	public void setImagePaths(String imagePaths) {
		this.imagePaths = imagePaths;
	}
	
	public Map responseJson;   
	
	public Map getResponseJson() {
		return responseJson;
	}

	public void setResponseJson(Map responseJson) {
		this.responseJson = responseJson;
	}

	public String ListImage()
	{
		Map<String, Object> map = new HashMap<String, Object>(); 
		List<Map<String, Object>> list = new ArrayList<Map<String, Object>>();
		List<String> im = imageManger.ListImage();
		for ( int i = 0; i < im.size(); i++) {
			Map<String, Object> m = new HashMap<String, Object>();  
			m.put("id", i);
			m.put("imagePath", im.get(i));
			list.add(m);
		}
		
		 map.put("rows", list);  
		 map.put("totalCont",  im.size());  
		 this.setResponseJson(map);   
		 return SUCCESS;
	}
	
}

5.配置application-context.xml

注册DAO类

<bean id="ImageDao" class="com.ssh.daoImpl.ImageDaoImpl">
		<property name="sessionFactory">
			<ref bean="sessionFactory" />
		</property>
	</bean>


注册业务逻辑类

<bean id="ImageManager" class="com.ssh.serviceImpl.ImageMangerImpl">
		<property name="dao">
			<ref bean="ImageDao" />
		</property>
	</bean>

注册action类

<bean id="ImageBean" class="com.ssh.action.ImageAction">
		<property name="imageManger">
			<ref bean="ImageManager" />
		</property>
	</bean>

6.配置struts2.xml

为了支持json在package后添加以下代码

<result-types>
            <result-type name="json" class="org.apache.struts2.json.JSONResult"/>
        </result-types>
        <interceptors>
            <interceptor name="json" class="org.apache.struts2.json.JSONInterceptor"/>
        </interceptors>

配置action

 

<action name="listimage" class="ImageBean" method="ListImage">			
			<result type="json">
				<param name="root">responseJson</param>
			</result>
		</action>

7.效果图:



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值