struts2中应用ajax前台:script typetext/javascriptfunction check(){var namedocument.getElements
struts2中应用ajax
前台:
<script type="text/javascript">
function check(){
var name=document.getElementsByName("name");
alert(name);
var xmlhttp=null;
if(window.XMLHttpRequest){
xmlhttp=new XMLHttpRequest();
}else{
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function(){
if(xmlhttp.readyState==4 && xmlhttp.status==200){
var src=xmlhttp.responseText;
alert(src);
var json=eval('('+src+')');
alert(json.age);
document.getElementById("result").innerHTML=json.name;
}else{
document.getElementById("result").innerHTML="2";
}
}
xmlhttp.open("post","/struts2_test01/ajax.action",true);
xmlhttp.send();
}
2.后台:
a.<package name="/user" extends="struts-default,json-default">注意继承json-default
b.导入struts2-json-plugin-2.1.8.1.jar
c.struts.xml配置
<!-- json 返回stream test
<action name="ajax" method="ajaxMethod">
<result name="AJAX" type="stream">
<param name="contentType">text/plain</param>
<param name="inputName">isStream</param>
<param name="bufferSize">1024</param>
</result>
</action>
-->
<action name="ajax" method="ajaxMethod">
<result name="AJAX" type="json"></result>
</action>
d.public String ajaxMethod(){
HttpServletRequest request=ServletActionContext.getRequest();
HttpServletResponse response=ServletActionContext.getResponse();
ByteArrayOutputStream output=new ByteArrayOutputStream();
response.setCharacterEncoding("UTF-8");
response.setContentType(ContentType_JSON);
//1.test how to return a string
//String info="这是我的第一个AJAX测试!";
//try {
//output.write(info.getBytes("UTF-8"));
//this.isStream=new ByteArrayInputStream(output.toByteArray());
//}catch (IOException e) {
//// TODO Auto-generated catch block
//e.printStackTrace();
//}finally{
//try {
//output.close();
//} catch (IOException e) {
//// TODO Auto-generated catch block
//e.printStackTrace();
//}
//}
//return "AJAX";
//2.test how to return a json
JSONObject json1=new JSONObject();
JSONArray jsons=new JSONArray();
json1.put("name", "yangdingcai");
json1.put("age", 20);
jsons.add(json1);
JSONObject json2=new JSONObject();
json2.put("name", "yangdingcai");
json2.put("age", 20);
jsons.add(json2);
System.out.println("json="+json1.toString());
System.out.println("jsons="+jsons.toString());
try {
response.getWriter().write(json2.toString());
response.getWriter().flush();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally{
try {
response.getWriter().close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
return "AJAX";
}