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
浙公网安备 33010602011771号