从托管bean调用javascript

时间:2013-10-11 09:28:19

标签: java javascript jsf-2

我想从managedbean类中清除JSF页面中的表单隐藏值。所以我曾经调用过一个方法,因为我使用这段代码调用javascript但是它抛出java.lang.NullPointerException下面是代码。

FacesContext facesContext = FacesContext.getCurrentInstance();
    ExtendedRenderKitService service = 
              Service.getRenderKitService(facesContext, ExtendedRenderKitService.class);
            service.addScript(facesContext, "alert('foo');");

在调用警报的行中抛出错误。有人帮助我。即使我试图在JSF页面中调用函数来重置值...它给了我同样的错误。

3 个答案:

答案 0 :(得分:1)

如果使用primefaces,则可以使用primefaces的Request Context组件。

RequestContext

如果你不想要,可以查看

without primefaces

答案 1 :(得分:0)

RequestContext.getCurrentInstance().execute("jsMethod();");

RequestContext.getCurrentInstance().execute("$('#ID').hide();");

RequestContext.getCurrentInstance().execute("PF('WIDGET').show();");

您可以在execute方法中执行任何javascript / jquery / primefaces代码。

答案 2 :(得分:-1)

您可以使用primefaces的Context component