我用这种方式创建了两个简单的IceFaces按钮。 (我不使用xhtml,而是使用Java代码创建东西。)
HtmlCommandButton comp = new HtmlCommandButton();
comp.setId(id);
comp.setImmediate(immediate);
boolean clientSide = props.getBooleanValue("clientside", false);
if(clientSide) {
comp.setOnclick(props.getValue("script") + ";return;");
} else {
// ignore
}
我以这种方式创建两个按钮:一个带有clientSide == true,带有一个简单的警报('hello');脚本和一个将在BSF框中运行附加的javascript服务器端。
显示两个按钮,clientSide按钮可以很好地处理它的警报。但是,当我单击没有以编程方式设置onClick的其他按钮时,我在Firebug控制台中收到错误消息(在IE9中也是如此):
uncaught exception: couldn't find container for property: bridge
我使用ICEFaces 1.8.2。谷歌搜索后我看到这个错误与jsp:root标签有关,但我的项目中没有jsp。
答案 0 :(得分:1)
该按钮呈现在HTML表单之外。这就是......: - )