1

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

网页.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>

视图.jsp

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 中做到这一点?

4

1 回答 1

1

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

于 2012-08-06T08:06:01.160 回答