アットウィキロゴ

Struts+Ajaxサンプル

  • Jsp
<%@page contentType="text/html; charset=UTF-8" %>
<%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html" %>
<%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean" %>
<html:html locale="true" >
<HEAD>
<script type="text/javascript" src="./jquery-1.3.2.min.js"></script>
<script language="JavaScript"><!--
 $(function(){
 $("#search_button").click(function(){
   $.getJSON(
     "http://localhost:8080/AjaxTest1/HelloWorld.do",
     function(result){
       
       for(var i=0; i<result.length; i++){
         window.alert("count = " + i);
         $("<OPTION></OPTION>").val(i).text(result[i].name + "(" + result[i].age + ")").appendTo("#users");
       }
       
     }
     
   );
 });
});
</HEAD>

<BODY>
 <p>test16</p>
 <INPUT type="button" name="search_button" id="search_button" value="検索">
 <SELECT name="users" id="users"></SELECT>
</BODY>

</html:html>

  • java(form)
適当に作成

  • java(action)

package action;

import java.io.PrintWriter;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import net.sf.json.JSONArray;
import net.sf.json.JSONObject;

import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;

public class HelloWorldAction extends Action {

public ActionForward execute(ActionMapping mapping,
			ActionForm form,HttpServletRequest request,HttpServletResponse response) throws Exception {
	  
	System.out.println("execute start");
	System.out.println("execute start2");
	
	String str1 = new String("次郎");
	System.out.println("create String = " + str1);
	
	
	  JSONObject obj1 = new JSONObject();
	  
	  System.out.println("create JSONObject");
	  
	  obj1.put("name","太朗");
	  obj1.put("age",27);
	  JSONObject obj2 = new JSONObject();
	  obj2.put("name","花子");
	  obj2.put("age",25);

	  JSONArray json = new JSONArray();
	  json.add(obj1);
	  json.add(obj2);

	  System.out.println(json.toString());
	  System.out.println(response.getContentType());
	  
	  response.setContentType( "application/json; charset=UTF-8" );
	  System.out.println(response.getContentType());
	  
	  PrintWriter writer = response.getWriter();
	  writer.print(json.toString());
	  writer.close();
	  
	  
	  return null;
	//return mapping.findForward("hello");
}

}
最終更新:2012年09月04日 00:15
ツールボックス

下から選んでください:

新しいページを作成する
ヘルプ / FAQ もご覧ください。