Java 在liferay中使用ajax

Java 在liferay中使用ajax,java,javascript,ajax,liferay,Java,Javascript,Ajax,Liferay,我有一个带有按钮的portlet。单击此按钮时,我向项目中的一个控制器发送ajax请求,并在正常情况下返回结果,我是这样做的: web.xml: <servlet> <servlet-name>ctrl</servlet-name> <servlet-class>controller.Translator_ctrl</servlet-class> </servlet> <servlet-mapping&

我有一个带有按钮的portlet。单击此按钮时,我向项目中的一个控制器发送ajax请求,并在正常情况下返回结果,我是这样做的:

web.xml

<servlet>
    <servlet-name>ctrl</servlet-name>
    <servlet-class>controller.Translator_ctrl</servlet-class>
</servlet>
<servlet-mapping>
    <servlet-name>ctrl</servlet-name>
    <url-pattern>/translate</url-pattern>
</servlet-mapping>
function send_form(){
            var xhr=new XMLHttpRequest();
            var base;
            var from=document.getElementById("from").value;
            var to=document.getElementById("to").value;
            var lang_from=document.getElementById("lang_from").value;
            var lang_to=document.getElementById("lang_to").value;
            //alert(":D:D:D"+from+"::::"+to+":::"+lang_from+":::"+lang_to);
            xhr.onreadystatechange=function (){
                if(xhr.readyState==4){
                    base=xhr.responseText;
                    //document.getElementById("to").value=base;
                    alert(base);
                }
            }
            xhr.open("GET","translate?mode=ajax&from="+from+"&to="+to+"&lang_from="+lang_from+"&lang_to="+lang_to,true);
            xhr.send();
        }

现在我不知道在Liferay里怎么做?如何在Liferay中做到这一点?

利用“资源”生命周期,正是出于这个目的。您将向portlet中的
serversource
方法发送请求并实现该方法(使用您使用的任何实现/框架)。其中的代码基本上与未使用门户环境时在servlet中的代码相同

利用“资源”生命周期,该生命周期正是为此目的而存在的。您将向portlet中的
serversource
方法发送请求并实现该方法(使用您使用的任何实现/框架)。那里的代码基本上与您在servlet中使用的代码相同,当您不使用门户环境时

当我使用servlet时,我将servlet映射到一个特殊的URL,并将ajax请求直接发送到该URL。现在,我应该将ajax请求发送到哪里?发送到-在门户环境中,您失去控制的第一件事是URL,因此,门户将为您生成它。你可以在以后获得一些控制权(当你想拥有“漂亮”的URL时),但是从技术需要开始,然后继续工作。当我使用servlet时,我习惯于将servlet映射到一个特殊的URL,并将ajax请求直接发送到该URL。现在,我应该将ajax请求发送到哪里?发送到-在门户环境中,您失去控制的第一件事是URL,因此,门户将为您生成它。您可以在以后获得一些控制权(当您想要拥有“漂亮”的URL时),但从技术需要开始,并从那个里继续工作。