giridhar infonex
giridhar infonex

Reputation: 19

how to call struts action class from jquery ajax

Hi this is my bit of code, my action configuration in jquery to meet calender action class failed. In my struts xml in CalenderAction package if i configure extends as struts-default,json-default my welcome file is not loading.

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>

action class

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

Upvotes: 1

Views: 3007

Answers (1)

henriquels
henriquels

Reputation: 546

You can use the jquery $.ajax method. You should add an attribute in your CalenderAction in order to be able to get the attribute value in .done(data) method.

For example:

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

Upvotes: 1

Related Questions