1. 程式人生 > >ajax與struts中action的互動實現方法

ajax與struts中action的互動實現方法

前提,匯入json-lib-xxx.jar和struts2-json-plugin-xxx.jar

一、jsp核心程式碼

<span style="font-size:18px;">
<script type="text/javascript" src="<%=basePath%>js/jquery.js"></script>
<script type="text/javascript">
   $(document).ready(function() {
       $("#btn").click(function() {
	   var rate = $('#rate').attr("value");
	<span style="color:#000099;"><span style="background-color: rgb(204, 204, 204);">   $.ajax({
	        url : '/AJAXTest/test/input_user_save',
		type : 'POST',
		data : {
		      rate : rate
		},
		dataType : 'json',
		success : function(data) {
		      $("#allUser").append("輸出了:id:" + data.flag);
		}
	   });</span></span>
      });
  });
</script>
        <!-- 表單部分  -->
        <form id="subUserForm">
		<input type="text" id="rate" value="1" />
	</form>
	<div>
	       <input id="btn" type="button" value="提交" />
	</div>
	<div id="allUser">input_user:</div>

</span>
這裡使用data來給action傳遞表單的值,此data與fuction(data)不同,fuction裡頭的data可以理解為action物件,通過該物件可以得到action中的成員變數值。(實現getter方法)

二、action

<span style="font-size:18px;">package com.sxu.action;

import com.opensymphony.xwork2.ActionSupport;

public class UserAction extends ActionSupport {  

	private boolean flag = false;
	
	private String rate;
	
    public String getRate() {
		return rate;
	}

	public void setRate(String rate) {
		this.rate = rate;
	}

	public boolean isFlag() {
		return flag;
	}

	public void setFlag(boolean flag) {
		this.flag = flag;
	}

	public String save() {
		System.out.println("dsfd");
    	flag = true;
    	System.out.println(rate);
    	
        return "INPUT_USER";  
    }  

}  </span>

3.struts.xml
<span style="font-size:18px;"><?xml version="1.0" encoding="UTF-8"?>  
      
    <!DOCTYPE struts PUBLIC  
            "-//Apache Software Foundation//DTD Struts Configuration 2.1.7//EN"  
            "http://struts.apache.org/dtds/struts-2.1.7.dtd">

<struts>
	
	<package name="default" namespace="/test" extends="json-default">
		<action name="input_user_*" class="com.sxu.action.UserAction" method="{1}">
			<result name="INPUT_USER" type="json"></result>
		</action>

	</package>
</struts>  </span>
這裡使用萬用字元來動態決定呼叫action的哪個方法.