У меня есть 4 кнопки, каждая кнопка будет отображать одно изображение с помощью Ajax.Переключить изображения с помощью ajax
<h:form>
<h:commandButton value="Click" action="#{userAjaxData.toggleStatus}">
<f:ajax render="Family" />
</h:commandButton>
<h:commandButton value="Click" action="#{userAjaxData.toggleStatus}">
<f:ajax render="Karam"/>
</h:commandButton>
<h:commandButton value="Click" action="#{userAjaxData.toggleStatus}">
<f:ajax render="Memo"/>
</h:commandButton>
<h:commandButton value="Click" action="#{userAjaxData.toggleStatus}">
<f:ajax render="Baba"/>
</h:commandButton>
<h:panelGroup id="Family">
<p:graphicImage library="images/img" name="family.png" id="FamilyImg" rendered="#{userAjaxData.status}"/>
</h:panelGroup>
<h:panelGroup id="Karam">
<p:graphicImage library="images/img" name="Karam.png" id="KaramImg" rendered="#{userAjaxData.status}"/>
</h:panelGroup>
<h:panelGroup id="Memo">
<p:graphicImage library="images/img" name="memo.png" id="MemoImg" rendered="#{userAjaxData.status}"/>
</h:panelGroup>
<h:panelGroup id="Baba">
<p:graphicImage library="images/img" name="baba.png" id="BabaImg" rendered="#{userAjaxData.status}"/>
</h:panelGroup>
</h:form>
Мой сведущих боб:
@ManagedBean(name = "userAjaxData", eager = true)
@SessionScoped
public class UserAjaxData implements Serializable {
private static final long serialVersionUID = 1L;
private boolean status = false;
public void toggleStatus() {
status = true;
}
public boolean isStatus() {
return status;
}
public void setStatus(boolean status) {
this.status = status;
}}
при нажатии любой кнопки он будет отображать взаимосвязанное изображение, так что если я нажимаю первый будет отображать первое изображение, а вторая кнопка будет отображаться второе изображение, но первое изображение не будет удалено. Мне просто нужно один способ отображения одного изображения каждый раз, когда я нажимаю кнопку. поэтому, если я нажму на первую кнопку, тогда вторая кнопка должна отобразить второе изображение, а первое исчезнет.
Как это сделать?
Работает ли он с использованием простого графического изображения jsf? Если нет, это не связано с PrimeFaces – Kukeltje
ваш код очень странный ... Тот факт, что первое изображение не изменено, заключается в том, что вы не «визуализируете» его в других кнопках. Но если вы это сделали, они будут показывать все сразу, поскольку они имеют одинаковое поле статуса. Таким образом, ваш код выглядит странно – Kukeltje
@kukeltje мой код позволяет каждой кнопке отображать одно изображение. Поэтому, если я нажму 4 кнопки, я получу 4 изображения на странице. Я просто хочу переключаться между изображениями, например, вкл. И выкл. Когда я нажимаю кнопку, только изображение, связанное с этой кнопкой, должно отображаться, а другое изображение должно быть отключено. Что вы имеете в виду, если оно работает с plain graphicImage? Вы главный graphicImage без panelGroub? Если да, то это не будет работать без panelGroup. –