Wie nennen spezifische Methode der portlet.java Klasse dann eher diesen serveResource Methode?

Ich möchte etwas Hilfe in liferay mit ajax.
Jetzt rufe ich die ajax-Methode von meinem view.jsp Seite zu senden einige Daten.

Hier ist Beispielcode verwende ich in view.jsp:

<%@ include file="/init.jsp"%>

<portlet:actionURL name="AddTest" var="add1" />
<portlet:resourceURL id="AddTest" var="AddTest"></portlet:resourceURL>

<html>
<head>
    <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js"></script>

    <script type="text/javascript">
    function addToDo(addToDo){
        var todo =document.getElementById('toDo').value;
        $.ajax({
            url :addToDo,            
              data: {"todo":todo,"CMD":"addToDo"},
              type: "GET",
              dataType: "text",
            success: function(data) {              
                  $("#toDoList").html(data);
            }
        });
    }
    </script>
</head>

<body>

    <portlet:resourceURL var="addToDo" id="addToDo"></portlet:resourceURL>

    <form>
        <input type="text" name="toDo" id="toDo">
        <button name="Add" type="button" onclick="addToDo('<%=addToDo%>')">Add</button>
        <div id="toDoList">

        </div>
    </form>
</body>
</html> 

und in meinem portlet.java Klasse gibt es eine Methode, die aufgerufen wird, von dieser ajax-Aufruf:

@Override
public void serveResource(ResourceRequest request, ResourceResponse response){
    if(request.getParameter("CMD").equals("addToDo")) {

        System.out.println("came here for add");

        mediatype userToDo = new mediatypeImpl();
        //userToDo.setMediaId(12345);
        try {
            userToDo.setPrimaryKey((CounterLocalServiceUtil.increment()));
            userToDo.setMedianame(request.getParameter("todo"));
            mediatypeLocalServiceUtil.addmediatype(userToDo);
        }
        catch (SystemException e) {
            e.printStackTrace();
        }
    }
}

Also meine Frage ist, dass rechts jetzt es ist nur caling standardmäßig @override Methode von einer beliebigen ajax-Klasse.
Aber wie kann ich call-spezifische Methode der portlet.java - Klasse, ajax-call?

Ich bin neu Biene in ajax. Also bitte guide mich sowieso u können.....

Bekam ich folgenden Fehler beim Aufruf von ajax-url der folgenden

<portlet:actionURL name="ajax_AddAdvertise" var="addToDo" windowState="<%= LiferayWindowState.EXCLUSIVE.toString()%>"> </portlet:actionURL>



06:47:03,705 ERROR [http-bio-8080-exec-23][render_portlet_jsp:154] java.lang.NoSuchMethodException: emenu.advertise.portlet.RestaurantPortlet.ajax_AddAdvertise(javax.portlet.ActionRequest, javax.portlet.ActionResponse)
    at java.lang.Class.getMethod(Class.java:1605)

mein process action-Methode wie folgt

 @ProcessAction(name = "ajax_AddAdvertise")
    public void ajax_AddAdvertise(ResourceRequest request,ResourceResponse response) {

}
  • Sie stellten viele Fragen und haben auch entsprechenden Antworten. So kann ich Sie wenigstens erkennen die Antworten auf Ihre Fragen, indem Sie Sie markieren, wie "akzeptiert"? so, dass es hilft, die community wissen, dass diese Fragen beantwortet werden, und wird jemand helfen Suche für die gleiche Sache. Außerdem wäre es nicht Zeit für diejenigen Mitglieder, die helfen möchten, mit anderen Fragen, die sind wirklich offen. Dank
InformationsquelleAutor User 1531343 | 2012-11-06
Schreibe einen Kommentar