从服务器端调用javascript方法
Invoke javascript method from server side
我想从服务器端执行一个javascript方法。在我的例子中,当我更改一个选项卡时,在托管bean中,我想调用javascript方法。有办法做到这一点吗?
我尝试使用RequestContext。但是,直到侦听器方法完成执行,它才会被调用。
RequestContext在当前ajax请求完成后执行javascript。我想在ajax请求开始时改进javascript方法。
javascript方法(我想调用它)是在客户端编写的。
通过http://metoojava.wordpress.com/2010/06/20/execute-javascript-from-java/和http://docs.oracle.com/javase/6/docs/technotes/guides/scripting/programmer_guide/index.html
但是没有找到解决这个问题的办法。
使用jsf2.1和素数面4.0。
我的代码是
XHTML
<p:tabView id="detailsId" widgetVar="detailsVar" >
<p:ajax event="tabChange" listener="#{mywBean.onTabChange}"/>
<p:tab title="Service">
</p:tab>
<p:tab title="Books">
</p:tab>
</p:tabView>
<script>
function myJavascriptMethod() {
alert("Hello All..");
// Some functionality
}
</script>
托管Bean
public void onTabChange(TabChangeEvent event) {
String tabId = event.getTab().getId();
if(tabId.equalsIgnoreCase("Books")) {
**need to call javascript method here**
//Some Functionality
}
}
您可以尝试:
String js="alert('Hello World!!')"; // write your javascript
RequestContext.getCurrentInstance().execute(js);
Javadoc:
http://www.primefaces.org/docs/api/4.0/org/primefaces/context/RequestContext.html#execute(java.lang.String)
相关文章:
- object.仅冻结对象方法.JavaScript
- 快速方法 Javascript/Jquery/etc 检索表单中包含的所有 aspnet:textbox (input)
- 查看整个画布是否被涂成一种颜色的方法.Javascript + processing.js
- 从方法 JavaScript 访问对象变量
- pop()方法javascript没有给出完整的输出
- 如何格式化setInterval方法JavaScript的运行时间
- 正则表达式/替换方法Javascript
- 将vars传递给其他方法javascript
- 寻找一种简化if/else语句的方法.javascript
- focus()或select()方法javascript,在Chrome中性能缓慢
- 未捕获的类型错误:对象没有方法..Javascript
- 对象方法javascript中的方法/函数
- 构造函数中的私有方法(Javascript,坏主意?)
- 查看数组是否有数组的最简单方法?Javascript
- 扁平化数组元素(不是整个数组)的有效方法JavaScript
- 最常用的生成PDF报告的方法(JavaScript,node.js)
- 创建多维数组与地图方法:javascript
- 对象方法Javascript HTML DOM中的多个事件监听器
- 卡住了.adddeventlistener不能在属性内处理我的方法.Javascript
- 任何获取文档选择的x、y、w、h的方法(JavaScript)