繁体   English   中英

单击HTML按钮,如何调用Java方法并重定向到另一个HTML页面?

[英]With the click of an HTML button, how to INVOKE a java method AND REDIRECT to another HTML page?

我有一个按钮,通过它我可以调用 java方法:

<h:commandButton value="My Schedule" action="#{empDutySchedBean.viewMyTask}" rendered="#{welcomeBean.workSchedule}"   class="mainLinks"/>

现在通过此方法viewMyTask()我得到了从数据库返回的值的列表

 public List viewMyTask()
{        
    setEmpID((String) session.getAttribute("userName"));

   setEmpDuty(ts.getMyTask(getEmpID()));


    return empDuty;
}

我想从这里单击按钮,将用户重定向到另一个页面,并显示列表数据。 我不明白如何重新定向到另一个HTML页面并显示LIST数据。

注意: ->此按钮基本上是我网页上的菜单。 对于其他菜单,我使用了锚标记。 但是,由于无法使用锚标记调用方法,因此我使用了按钮标记。 但是正因为如此,我无法重定向

我认为可以解决的一些方法是:

  1. 使用锚标记代替on按钮重定向到另一页,然后使用javascript的onLoad方法调用Java方法
  2. 在viewMyTask()之后调用另一个方法以执行重定向。

    我不知道这些方法如何工作。

首先,我假设您已经知道如何返回数据Java端,在这种情况下,这实际上只是一个JavaScript问题。 为了进行简单的post-get,我通常使用Ajax,如下所示:

new Ajax.Request(myUrlToCall, {
method:'POST',
    onComplete: function(transport) {
        window.location.replace(theRedirectUrl);
    }
});

这将调用您想在Java端调用的任何URL,然后在此调用完成后,会将您重定向到您想访问的URL。 如果您需要向Java端发送一些参数,则只需添加:

parameters:myParamVar,

在方法“ POST”行之后,如果您想让Java端返回url,那么您要做的就是将它作为json或类似的形式发送到响应中,然后执行以下操作:

window.location.replace(transport.responseJSON["theRedirectUrl"])

希望能有所帮助!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM