如何从jquery ajax调用struts动作类

时间:2016-08-11 07:49:59

标签: jquery ajax struts2

嗨,这是我的代码, 我在jquery中的动作配置,以满足日历动作类失败。 在我的struts xml in CalenderAction包中,如果我配置扩展为struts-default,json-default我的欢迎文件没有加载。

  

jquery的

<script>
$(document).ready(function() {
    $('#calendar').fullCalendar({
   header: {
            left: 'prev,next today',
            center: 'title',
            right: 'month,agendaWeek,agendaDay'
        },  
        defaultDate: '2016-08-08', 
         editable: false,
        dataType: 'json', 
        events: '/democalender/CalendarJsonServlet'
    });
});
</script>
  

struts.xml中

<struts>
    <package name="default" extends="struts-default">

            <action name="login" class="com.giri.infonex.controller.login.LoginAction">
                <result name="success">AdminHome.jsp</result>
                <result name="ParentHomePage">ParentHomePage.jsp</result>
                <result name="AdminHome">AdminHome.jsp</result>
                <result name="error">StudentRegister.jsp</result>
            </action>
            <action name="ParentRegister"
                class="com.giri.infonex.controller.Register.ParentRegisterAction">
                <result name="success">ParentsRegister.jsp</result>
            </action>
        </package>

        <package name="CalenderAction" extends="json-default">
            <action name="/Student-Management-Real/CalenderAction"
                class="com.giri.infonex.controller.calender.CalenderAction">
                <result type="json" />
            </action>
        </package>
    </struts>
  

动作类

public class CalenderAction extends ActionSupport {
public String execute(){
        System.out.println("calender");
}
}

1 个答案:

答案 0 :(得分:1)

您可以使用jquery $ .ajax方法。您应该在CalenderAction中添加一个属性,以便能够以.done(data)方法获取属性值。

例如:

 $.ajax({
      url: "/Student-Management-Real/CalenderAction",
      cache: false
 })
 .done(function( data ) {
     // handle your data
     // example: data.actionAttribute
 });