Struts2 JSONObject的使用

2015-01-24 05:47:44 · 作者: · 浏览: 3

一、jar包

使用之前必须引入所需要的jar包,这里包括Struts2和JSONObject各自所必须的

Struts2:

commons-fileupload-1.2.1.jar
commons-io-1.3.2.jar
commons-lang-2.3.jar
commons-logging-1.0.4.jar
freemarker-2.3.13.jar
ognl-2.6.11.jar
struts2-core-2.1.6.jar
xwork-2.1.2.jar

JSONObject:

commons-beanutils-1.7.0.jar
commons-collections-3.2.jar
ezmorph-1.0.3.jar
json-lib-2.1.jar

PS: 本例Struts2版本为2.1.6,以上所有jar包在struts-2.1.6lib中都可以找到,

如果以上jar包是东拼西凑的 特别是JSONObject,有可能会因jar包兼容性问题而报错。


二、前台代码

?

 
 
姓名:
性别:
年龄:
?
<script type=text/java script>
	$(function() {
		$(#ajaxBtn).click(function() {
			var params = $(#myform).serialize();
			$.ajax( {
				type : POST,
				dataType: json,
				url : RegisterAction.action,
				data : params,
				success : function(msg) {
					if(msg.success == true){
						$(#msg).html(您提交的信息为,姓名: +msg.name+
						, 性别:+msg.sex+, 年龄:+msg.age);
						alert(success);
					}else{
						alert(error);
					}
				},
				error : function(){
					alert(error);
				}
			});
		})
	})

三、后台

?

?

import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.http.HttpServletResponse;
import net.sf.json.JSONObject;
import org.apache.struts2.ServletActionContext;
import com.opensymphony.xwork2.ActionContext;

public class RegisterAction {

	private String name;
	private String sex;
	private String age;

	public String register() {
		ActionContext ac = ActionContext.getContext();
		HttpServletResponse response = (HttpServletResponse) ac.get(ServletActionContext.HTTP_RESPONSE);
		response.setCharacterEncoding(utf-8);
		PrintWriter out;
		try {
			out = response.getWriter();
			JSONObject json=new JSONObject();
			json.put(success, true);
			json.put(name, name);
			json.put(sex, sex==null?未知:(1.equals(sex)?男:女));
			json.put(age, age);
			out.write(json.toString());
			out.flush();
			out.close();
			

		} catch (IOException e) {
			e.printStackTrace();
		}

		return null;
	}

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

	public String getSex() {
		return sex;
	}

	public void setSex(String sex) {
		this.sex = sex;
	}

	public String getAge() {
		return age;
	}

	public void setAge(String age) {
		this.age = age;
	}
}

四、Struts配置

?

?


  
	
    
     
     
   

  

如下图:

?

/

?

?