WebServiceAction.java 1.53 KB
Newer Older
Kim Gyeongeun committed
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62
package jp.agentec.sinaburocast.action.user;

import java.io.IOException;
import java.io.OutputStreamWriter;
import java.io.PrintWriter;
import java.text.ParseException;

import javax.servlet.http.HttpServletResponse;

import jp.agentec.sinaburocast.action.AbstractAction;
import jp.agentec.sinaburocast.common.annotation.NoLogin;
import jp.agentec.sinaburocast.entity.Postalcode;
import jp.agentec.sinaburocast.form.user.WebServiceForm;
import jp.agentec.sinaburocast.service.PostalcodeService;
import net.arnx.jsonic.JSON;

import org.seasar.struts.annotation.ActionForm;
import org.seasar.struts.annotation.Execute;
import org.seasar.struts.util.ResponseUtil;

/**
 * WEBサービス
 *
 * @author arakawa
 *
 */
@NoLogin
public class WebServiceAction extends AbstractAction {

	@ActionForm
	public WebServiceForm webServiceForm;

	public PostalcodeService postalcodeService;


	/**
	 * 住所検索
	 *
	 * @return JSONで住所情報を返却する
	 * @throws ParseException
	 */
	@Execute(validator = false)
	public String addrSearch() throws IOException{

		Postalcode postalcode = postalcodeService.findAddressByZipCode(webServiceForm.zipCode);

		String text = JSON.encode(postalcode);

		HttpServletResponse httpServletResponse = ResponseUtil.getResponse();
		httpServletResponse.setContentType("application/json; charset=UTF-8");

		PrintWriter sendAddress = new PrintWriter
				(new OutputStreamWriter(httpServletResponse.getOutputStream(), "UTF8"), true);

		sendAddress.println(text);

		sendAddress.flush();
		sendAddress.close();

		return null;
	}
}