ajax與struts中action的互動實現方法
阿新 • • 發佈:2019-02-08
前提,匯入json-lib-xxx.jar和struts2-json-plugin-xxx.jar
一、jsp核心程式碼
這裡使用data來給action傳遞表單的值,此data與fuction(data)不同,fuction裡頭的data可以理解為action物件,通過該物件可以得到action中的成員變數值。(實現getter方法)<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>
二、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
這裡使用萬用字元來動態決定呼叫action的哪個方法.<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>