我在http://wiki.apache.org/myfaces/Facelets_with_Trinidad有描述的问题。进一步来说:
“执行 PPR 时,组件的 id 生成存在问题。症状是单击命令不会执行所需的操作,而只会重新加载整个页面。任何后续单击任何命令都会成功。
要解决此问题,请手动设置受影响页面上至少所有命令的 ID。”。
我已经尝试过上述方法,但问题不断出现。有人对此有任何解决方案吗?
我在http://wiki.apache.org/myfaces/Facelets_with_Trinidad有描述的问题。进一步来说:
“执行 PPR 时,组件的 id 生成存在问题。症状是单击命令不会执行所需的操作,而只会重新加载整个页面。任何后续单击任何命令都会成功。
要解决此问题,请手动设置受影响页面上至少所有命令的 ID。”。
我已经尝试过上述方法,但问题不断出现。有人对此有任何解决方案吗?
最后,我通过在加载页面调用下面的函数解决了上述问题。
// Override function to solve ppr problems
function overrideFunc() {
TrPage.prototype._updateViewState = function(a59, a60, a61) {
var a62 = null;
if (a61)
a62 = a59.getElementById(a61);
for ( var i = 0; i < a59.forms.length; i++) {
a62 = a59.forms[i];
if (!a62)
return;
var a63 = a62.elements[TrPage._VIEW_STATE_ID];
if (!a63) {
a63 = a59.createElement("input");
a63.type = 'hidden';
if(_agent.isIE && _agent.version < 8) {
a63.id = TrPage._VIEW_STATE_ID;
}
a63.name = TrPage._VIEW_STATE_ID;
a62.appendChild(a63);
}
a63.value = TrPage._getTextContent(a60);
}
};
}