Java服务器Faces Ajax请求无法正常工作
问题描述:
我使用OpenFaces库,我想执行一些Ajax请求,例如,如果复选框为真,则显示TextArea
,但它根本不起作用。操作原理与JSF标准库中的相同。我会告诉你我的代码:Java服务器Faces Ajax请求无法正常工作
<o:selectBooleanCheckbox id="addOpis" value="#{ajaxBean.opis}">
<o:ajax event="click" execute="addOpis" render="opisArea"/>
</o:selectBooleanCheckbox>
<h:outputLabel for="dodajOpisCheckbox" value="zaznacz aby dodać opis" />
<o:inputTextarea id="opisArea" value="#{productBean.opis}" rendered="#{ajaxBean.opis}"/>
ManagedBean来源:
@ManagedBean(name="ajaxBean")
@RequestScoped
public class AjaxBean implements Serializable {
private static final long serialVersionUID = 1L;
private boolean opis;
public AjaxBean() {
}
public void setOpis(boolean opis) {
this.opis = opis;
}
public boolean isOpis() {
return opis;
}
}
我看了一些解决方案,但我的代码似乎是不错的,请大家帮忙。
答
加载后页面上没有编号为opisArea
的元素,因为默认情况下rendered
属性为false。
最简单的方法来解决它 - 把opisArea
元素中,它总是会被渲染:
<h:selectBooleanCheckbox id="addOpis" value="#{testBean.opis}">
<f:ajax event="click" execute="addOpis" render="opisArea"/>
</h:selectBooleanCheckbox>
<h:outputLabel for="dodajOpisCheckbox" value="zaznacz aby dodać opis" />
<h:panelGroup id="opisArea" >
<h:inputTextarea value="#{productBean.opis}" rendered="#{testBean.opis}"/>
</h:panelGroup>
+0
它工作的很好,谢谢! – insict 2013-02-12 13:17:13
+0
@ user1853125,不客气 – bsiamionau 2013-02-12 13:24:08
是
是的,整个页面都在'h:form'标签中。为了澄清页面刷新时出现的textarea, – insict 2013-02-12 11:00:19