【问题标题】:Div updating with image dynamically..... JSFdiv 动态更新图像..... JSF
【发布时间】:2024-01-11 23:47:01
【问题描述】:

如何在单击其他 div 图像时动态替换 DIV 中的图像,如图所示。 要求是这样的: 单击“DIV1”根应更新为1 ..单击“Div2”根应更新为2。所有从某个 URL 和 Root 加载图像的 div 都是一个更大的 div。

请回复...

【问题讨论】:

    标签: java jsf jstl


    【解决方案1】:

    你可以这样做:

    <div>
       <h:graphicImage id="root" value="#{managedBean.rootImage}" alt="image"/>
    </div>
    
    <div>
       <h:commandLink>
         <h:graphicImage value="images/image1.png" alt="image1"/>
         <f:setPropertyActionListener target="#{managedBean.rootImage}" value="images/image1.png" />
         <f:ajax event="action" render="root"/>  
       </h:commandLink>
    </div>
    

    并在您的 ManagedBean 中像这样创建 setter/getter:

    public class ManagedBean{
        public String rootImage;
        public void setRootImage(String image) {
          this.rootImage= image;
        }
        public String getRootImage() {
          return rootImage;
        }
    }
    

    参考:JSF - Two Questions about actions on UIComponent

    【讨论】:

    • 不是 jsf 的有效语法,我正在为此使用任何替代方法......这将解决我的问题
    • 哦,如果您使用的是 JSF 1.2,请阅读此*.com/questions/3545539/…
    • 不是 jsf 的有效语法......它正在发出这样的消息......我正在使用 jsf 2.0
    • 我在我的代码中使用 java.sun.com/jsf/core"%> 作为标记行,这就是我猜它给出错误的原因..
    • 查看link的语法文档