zoukankan      html  css  js  c++  java
  • Struts2 JSONObject的使用

    一、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包兼容性问题而报错。


    二、前台代码

    <body>
    	<form id="myform">
    		<table>
    			<tr>
    				<td>姓名:</td>
    				<td> <input type="text" name="name" /> </td>
    			</tr>
    			<tr>
    				<td>性别:</td>
    				<td>
    					<input type="radio" name="sex" value="1"> 男
    					<input type="radio" name="sex" value="0"> 女
    				</td>
    			</tr>
    			<tr>
    				<td>年龄:</td>
    				<td>
    					<select name="age">
    						<option value="20">20</option>
    						<option value="21">21</option>
    						<option value="22">22</option>
    					</select>
    				</td>
    			</tr>
    			<tr>
    				<td colspan="2">
    					<input type="button" id="ajaxBtn" value="提交" />
    				</td>
    			</tr>
    		</table>
    	</form>
    	<div id="msg"></div>
    </body>
    <script type="text/javascript">
    	$(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");
    				}
    			});
    		})
    	})
    </script>

    三、后台

    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配置

    <struts>
    	<package name="build" extends="struts-default">
    		<action name="RegisterAction" method="register" class="com.home.RegisterAction">
    		</action>
    	</package>
    </struts>

    例如以下图:



    作者:itmyhome

    出处:http://blog.csdn.net/itmyhome1990/article/details/41943291

    源代码:download


  • 相关阅读:
    php中静态变量和静态方法。
    json_encode处理json数据中文乱码
    php 连接mssql
    二十二 使用__slots__
    二十一 实例属性和类属性
    二十 获取对象信息
    十九 继承和多态
    十八 访问限制
    十七 类和实例
    NoSql数据库 设计上面的一些心得
  • 原文地址:https://www.cnblogs.com/mfrbuaa/p/5396920.html
Copyright © 2011-2022 走看看