struts2+json+Ajax

來源:互聯網
上載者:User

實現前台與後台即時通訊。

1. 最好是把$.ajax  中的url中的action由參數傳過去。

       前台 onload=" load('$(cardAction)')";  

<s:url action="cardAction" namespace="/examjson" includeParams="none" id="cardAction"/>

JScript
function load(_url){
$.ajax({
   type: "POST",
   url: _url,
   data: "name="+name,
   error:function(){alert("error")},
   success: function(msg){
     eval("res = "+msg);
     var cards = res.cards;
     for(var i = 0;i<cards.length;i++){
       $("#cardSelect").append("<option value="+cards[i]+">"+cards[i]+"</option>")
    }
   }
}); 

 

 

2. 配製struts.xml
<package name="jsonpack" extends="json-default" namespace="/examjson">
  <!-- 得到card -->
  <action name="cardAction" class="cardAction" method="Cards">
   <result type="json">
    <param name="excludeProperties">employeeService</param>
   </result>
  </action>
 </package> 
注意:employeeService為 cardAction中需要注入的對象。3,applicationContext.xml
<bean id="addEmployeeAction" class="com.ambow.ExamOnlineSystem.entity.exam.action.AddEmployeeAction">
  <property >
   <ref bean="employee"/>
  </property>
</bean>java
package com.ambow.ExamOnlineSystem.entity.exam.action;

import com.ambow.ExamOnlineSystem.entity.exam.interfaces.IEmployee;
import com.opensymphony.xwork2.ActionSupport;

public class CardAction extends ActionSupport {
 private static final long serialVersionUID = 163236660018615361L;
 private String name;
 private IEmployee employeeService;
 String[] cards;

 public String[] getCards() {
  return cards;
 }

 public void setCards(String[] cards) {
  this.cards = cards;
 }

 public void setEmployeeService(IEmployee employeeService) {
  this.employeeService = employeeService;
 }

 public void setName(String name) {
  this.name = name;
 }
 
 public String Cards(){
  String[] str=employeeService.getCards(name);
  cards = new String[str.length];
  cards = str;
  return ActionSupport.SUCCESS;
 }
}
看上面cards為可以得到 的資料.得到方法在js檔案的load() 方法中.
葡萄你個哈蜜瓜,差點忘了加jsonplugin-0.30.jar 這個包了。。。。。

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.