Struts2界面和action之间数据的传递,ValueStack在其中的作用

一,从界面到后台的数据传递

1,form表单传递

 1 <form action="prizeList" method="post" id="searchForm">
 2             <label>奖品编号</label>
 3             <div class="telInput" style="margin:0px 5px 5px 0px;">
 4                 <input type="text" name="prizeId" id="prizeId" value="<s:property value="prizeId"/>"/>
 5             </div>
 6             <label>奖品名称</label>
 7             <div class="telInput" style="margin:0px 5px 5px 0px;">
 8                 <input type="text" name="prizeName" id="prizeName" value="<s:property value="prizeName"/>"/>
 9             </div>
10             <label>奖品类型</label>
11             <div class="telInput" sstyle="margin:0px 5px 5px 0px;">
12                 <input type="text" name="prizeType" id="prizeType" value="<s:property value="prizeType"/>"/>
13             </div>
14             </div>
15             <div class="sel-top proInput">
16             <label>中奖概率</label>
17             <div class="telInput" style="margin:0px 5px 5px 0px;">
18                 <input type="text" name="prizeChance" id="prizeChance" value="<s:property value="prizeChance"/>"/>
19             </div>
20             <label>流量面额</label>
21             <div class="telInput" style="margin:0px 5px 5px 0px;">
22                 <input type="text" name="prizeNotes" id="prizeNotes" value="<s:property value="prizeNotes"/>"/>
23             </div>
24         </form>

2,url传递

1 /woserver/backstage/prizeList.action?prizeId=${prizeId}&prizeName=${prizeName}&prizeType=${prizeType}&prizeChance=${prizeChance}&prizeNotes=${prizeNotes}

3,ajax参数传递

 1 $.ajax({
 2          async : false,
 3          type : "POST",
 4          data : {"prizeId":"0000"},
 5          url : "deletePrize",
 6         dataType: "json",
 7         success: function(rdata){
 8             alert(rdata);
 9         },
10         error : function(rdata){    
11           
12         }
13      });

struts.xml中配置

 1  <struts>
 2       <package name="backstage" namespace="/backstage" extends="struts-default"> 
 3           <action name="prizeList" class="mine.action.PrizeListAction">
 4               <result name="success">/backstage/prizeList.jsp</result>
 5            </action> 
 6             <action name="deletePrize" class="mine.action.PrizeListAction">
 7               <result name="json">/backstage/prizeList.jsp</result>
 8          </action> 
 9       </package>
10 
11  </struts>

Action代码

  1 package mine.backstage.cms.action;
  2 
  3 import java.util.ArrayList;
  4 import java.util.Date;
  5 import java.util.List;
  6 
  7 import org.apache.commons.lang3.StringUtils;
  8 
  9  10  11  12 import net.sf.json.JSONArray;
 13 import net.sf.json.JSONObject;
 14 
 15 /**
 16  *    
 17  *  18  *
 19  */
 20 public class PrizeListAction extends ActionSupport{
 21     /**
 22      * 
 23      */
 24     private static final long serialVersionUID = -3675936761641683147L;
 25     private List<Prize> prizeList;
 26     private String prizeId;
 27     private String prizeName;
 28     private String prizeType;
 29     private String prizeChance;
 30     private String prizeNotes;
 31     private Date startTime;
 32     private Date endTime;
 33     
 34     public String getPrizeId() {
 35         return prizeId;
 36     }
 37 
 38     public void setPrizeId(String prizeId) {
 39         this.prizeId = prizeId;
 40     }
 41 
 42     public String getPrizeName() {
 43         return prizeName;
 44     }
 45 
 46     public void setPrizeName(String prizeName) {
 47         this.prizeName = prizeName;
 48     }
 49 
 50     public String getPrizeType() {
 51         return prizeType;
 52     }
 53 
 54     public void setPrizeType(String prizeType) {
 55         this.prizeType = prizeType;
 56     }
 57 
 58     public Date getStartTime() {
 59         return startTime;
 60     }
 61 
 62     public void setStartTime(Date startTime) {
 63         this.startTime = startTime;
 64     }
 65 
 66     public Date getEndTime() {
 67         return endTime;
 68     }
 69 
 70     public void setEndTime(Date endTime) {
 71         this.endTime = endTime;
 72     }
 73 
 74     public List<Prize> getPrizeList() {
 75         return prizeList;
 76     }
 77 
 78     public void setPrizeList(List<Prize> prizeList) {
 79         this.prizeList = prizeList;
 80     }
 81     
 82     public String getPrizeChance() {
 83         return prizeChance;
 84     }
 85 
 86     public void setPrizeChance(String prizeChance) {
 87         this.prizeChance = prizeChance;
 88     }
 89 
 90     public String getPrizeNotes() {
 91         return prizeNotes;
 92     }
 93 
 94     public void setPrizeNotes(String prizeNotes) {
 95         this.prizeNotes = prizeNotes;
 96     }
 97 
 98     public String execute(){
 99 
100         JSONArray prizes=BaseDao.query(CustomDataSource.DATASOURCE2.getDataSource(), getPaginationSql(), null);
101 
102         prizeList=new ArrayList<Prize>();
103         Prize prize=null;
104         if(null!=prizes&&prizes.size()>0){
105     
106             for(int i=0;i<prizes.size();i++){
107                 prize=new Prize();
108                 JSONObject prizeObject=prizes.getJSONObject(i);
109                 prize.setPrizeId(prizeObject.getString("item0"));
110                 prize.setPrizeName(prizeObject.getString("item1"));
111                 prize.setPrizeType(prizeObject.getString("item2"));
112                 prize.setStartTime(prizeObject.getString("item3"));
113                 prize.setEndTime(prizeObject.getString("item4"));
114                 prize.setPrizeChance(prizeObject.getString("item5"));
115                 prize.setPrizeNotes(prizeObject.getString("item6"));
116                 
117                 prizeList.add(prize);
118             }
119             
120         }
121         return SUCCESS;
122     }
123 }

第一步:

把请求参数封装在ActionContext

String 

 

posted on 2017-06-27 00:15  繁花烈火  阅读(77)  评论(0)    收藏  举报