我正在尝试ajax更新有条件渲染的组件.
<h:form>
...
<h:commandButton value="Login" action="#{login.submit}">
<f:ajax execute="@form" render=":text" />
</h:commandButton>
</h:form>
<h:outputText id="text" value="You're logged in!" rendered="#{not empty user}" />
Run Code Online (Sandbox Code Playgroud)
但是,这不起作用.我可以保证这#{user}实际上是可用的.这是怎么造成的,我该如何解决?
jsf rendered-attribute jsf-2 conditional-rendering ajax-update
我正在使用jQuery为HTML中的change每一个注册一个事件监听器,input如下所示:
<h:head>
<script type="text/javascript">
//<![CDATA[
$(document).ready(function(){
$(':input').each(function() {
$(this).change(function() {
console.log('From docReady: ' + this.id);
});
});
});
function changeHandler() {
console.log("from changeHandler");
}
//]]>
</script>
</h:head>
<h:body>
<h:form id="topForm">
<p:commandButton id="myButton" value="update"
action="#{testBean.submit}"
partialSubmit="true" process=":myForm:panel"
update=":myForm:panel" />
</h:form>
<h:form id="myForm">
<p:panel id="panel">
<p:inputTextarea id="myTextarea"
value="#{testBean.val}"
onchange="changeHandler();"/>
</p:panel>
</h:form>
</h:body>
Run Code Online (Sandbox Code Playgroud)
change如果用户更改了内容,则会触发这两个事件myTextarea.但是,在按下部分更新的更新按钮后myTextarea,只有changeHandler会在之后触发.绑定的事件$(document).ready()不再触发.
这是PrimeFaces相关和/或预期的行为?如果是,那么如何在不重新运行文档就绪脚本的情况下确保触发第二个事件.
是否可以通过服务器端jsf代码将资源打开到新的浏览器选项卡(如命令按钮的target =“ _ newtab”)中?
以下代码在同一选项卡中打开资源:
FacesContext.getCurrentInstance().getExternalContext().redirect("resource.jsp");
Run Code Online (Sandbox Code Playgroud)
我正在使用素面。我认为javascript和icefaces有可能。