【问题标题】:Not to reload page on a link click不要在链接点击时重新加载页面
【发布时间】:2012-01-18 20:53:53
【问题描述】:

我有一个包含链接图像的设计。 它们必须像选择组件一样工作,例如,当我单击一个链接时,在背面我控制选择哪个链接。 在用户想要提交他/她的更改后,他/她单击提交按钮并保存选择。

所以我需要一个h:blahblah 组件来获取选择,当用户单击它时不会重新加载页面,并且可能再次单击以取消选择,也可能再次单击以再次选择。

我需要h: 组件,因为我只能轻松更改它们的 css。

如果您也分享您对我如何获得这份工作的建议,我也会很高兴。

谢谢


已由我的同事解决

<h:outputLink value="javascript:void(0);"><p:ajax event="click"  
                    listener="#{beanView.method()}"/>My Link</h:outputLink>

【问题讨论】:

标签: jsf


【解决方案1】:

为此,您可以将&lt;f:ajax&gt;@ViewScoped 托管bean 结合使用。让&lt;f:ajax&gt;listener设置选中的图片值。您可以将&lt;f:ajax&gt; 嵌套在&lt;h:graphicImage&gt; 中。

<h:form>
    <h:graphicImage name="image1.png">
        <f:ajax event="click" listener="#{bean.setSelectedImage('image1')}" />
    </h:graphicImage>
    <h:graphicImage name="image2.png">
        <f:ajax event="click" listener="#{bean.setSelectedImage('image2')}" />
    </h:graphicImage>
    <h:graphicImage name="image3.png">
        <f:ajax event="click" listener="#{bean.setSelectedImage('image3')}" />
    </h:graphicImage>
    <h:commandButton value="Submit" action="#{bean.submit}" />
</h:form>

@ManagedBean
@ViewScoped
public class Bean {

    private String selectedImage;

    public void submit() {
        System.out.println(selectedImage);
    }

    // ...
}

【讨论】:

    猜你喜欢
    • 2014-02-11
    • 1970-01-01
    • 2020-12-31
    • 2023-04-10
    • 2016-10-28
    • 2021-06-14
    • 1970-01-01
    • 2011-09-12
    • 1970-01-01
    相关资源
    最近更新 更多