我添加了一些jquery .append()
$('#div').append('<div id="windiv">'+
'<h:commandLink id="cmdbtn">'+
'<div id="reducebtndiv" class="btn"></div>'+
'<f:ajax event="click" execute="@form"'+
'listener="#{screenShotBean.takeScreenshot}" ></f:ajax>'+
'</h:commandLink>');
但是commandLink不起作用。 所以问题是,有没有办法让它发挥作用?我也很欣赏这方面的一些理论。 :)
答案 0 :(得分:2)
commandLink
不起作用,因为您使用JavaScript(由客户端(浏览器)运行)添加它。
JSF视图(由JSF组件构成)需要在服务器端进行处理,在呈现它们时,它们会输出可由浏览器处理的正确HTML元素。 JSF组件不是标准HTML元素,因此浏览器无法识别它们。
很难猜到你想要实现什么,但是,如果你想动态添加一些JSF组件,那么你需要针对服务器触发AJAX请求并重新渲染视图中那些组件所需的部分插入(当然是HTML)。