繁体   English   中英

如何在Javascript中调用Java方法

[英]How to call Java method in Javascript

我正在使用JSF 2.0创建网页。

我想做的是,当每个页面加载时,调用我在bean MyBean拥有的一种方法setLastVisitedPage

我可以通过简单地写

<h:body onLoad="#{MyBean.setLastVisitedPage()}"

但是我必须写在所有页面上,并且已经创建了30-40页。 :(

在具有通用标题的页面中,我创建了一个名为commonPage.xhtml文件。 我当时正在考虑将该文件包含在这里。

因此,我在commonPage.xhtml添加了以下内容,以便无论何时加载任何页面,都会调用myScript.js ,并且我会收到“我在这里”的警报。

<h:outputScript name="js/myScript.js" target="head" />

myScript.js

onload = alert("i m here");

每当我打开任何新页面时,我都会收到“我在这里”的警报。

现在我的问题是如何在JavaScript中添加#{MyBean.setLastVisitedPage()} ,以便每个页面都调用setLastVisitedPage()

还有其他方法吗? 可能是我想错了。

由于您正在使用JSF,因此最好使用这样的PreRenderViewEvent

 <f:metadata>
     <f:event type="preRenderView" listener="#{MyBean.putLastVisitedPage}"/>
 </f:metadata>


public void putLastVisitedPage(ComponentSystemEvent event){
}

在这里看看JSF 2 PreRenderViewEvent示例

暂无
暂无

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

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