【问题标题】:JSF - HtmlcommandLink.setOnclick() add additional things to the onclick property while creating dynamic componentsJSF - HtmlcommandLink.setOnclick() 在创建动态组件时向 onclick 属性添加其他内容
【发布时间】:2013-03-24 21:39:15
【问题描述】:

我想创建动态组件 (HtmlCommandLinks)。当我设置onClick 属性时,JSF 不知何故添加了额外的东西。所以它不会像我预期的那样触发我的javascript。 通过 FirBug 删除这些额外的东西后,它工作正常。

Application app = FacesContext.getCurrentInstance().getApplication();
HtmlCommandLink link = HtmlCommandLink)app.createComponent(HtmlCommandLink.COMPONENT_TYPE);
link.setId("link1");
link.setValue("ClickMe");
link.setOnclick("fireAlert('someText');");

但我看到这样的东西......

<a onclick="jsf.util.chain(this,event,'fireAlert(\'someText\')','mojarra.jsfcljs(document.getElementById(\'frmBody\'),{\'frmBody:j_idt15:link1\':\'frmBody:j_idt15:link1\'},\'\')');return false" id="frmBody:j_idt15:link1" h>ClickMe</a>

我想要的是……

<a onclick="fireAlert('someText')" id="frmBody:j_idt15:link1" h>ClickMe</a>

我正在使用icefaces。 为什么我不能将那个简单的文本值设置为我的onClick 值?

【问题讨论】:

  • 为什么不尝试通过 XHTML 页面添加它们?我相信 mojarrah(JSF) 会一直这样做,它总是添加自己的处理特定的 javascript。

标签: jsf icefaces


【解决方案1】:

使用带有渲染属性的h:commandLinkice:commandLink

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-06-02
    • 2012-08-01
    • 1970-01-01
    • 1970-01-01
    • 2021-07-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多