【问题标题】:JSF outputlabel click event [duplicate]JSF输出标签点击事件[重复]
【发布时间】:2018-01-05 16:24:18
【问题描述】:

首先,我对 JSF 和 Web 开发非常陌生。

如果用户单击输出标签,我想做的是在控制台中打印一条消息。

{businessBean.select()} 仅在页面刷新时调用,而不是在我单击时调用。

<h:outputLabel styleClass="cat" id ="businesstasks" onclick="setColor('businesstasks'); #{businessBean.select()}">
                 Business and productivity                      
            </h:outputLabel>

我的测试豆:

@ManagedBean(name="businessBean")
@SessionScoped
public class businessBean {
    public void select(){
        System.out.print("Test");
    }
}

我只有在刷新页面时才会得到“测试”,但我希望每次点击都得到它。

感谢您的帮助!

【问题讨论】:

    标签: jsf web onclick xhtml javabeans


    【解决方案1】:

    您是否有理由“需要”输出标签来执行操作?因为 onclick 会将其作为 javascript 执行,如果您调用 bean 操作方法,该交互可能会导致问题。您可以在输出标签中使用&lt;h:commandLink action="#{businessBean.select}" /&gt;

    【讨论】:

    • 我认为您的意思是 onclick 属性本身将作为 javascript 执行。您不能通过 javascript 事件执行任何 bean 方法(至少不使用这样的表达式语言)。在这个 xhtml 中像这样的任何 EL 方法调用都会在初始页面加载时执行,它更常用于方法返回字符串以便将结果输出到生成的 HTML 中。
    猜你喜欢
    • 2014-08-24
    • 2014-06-24
    • 2011-05-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-12-28
    • 2018-08-09
    相关资源
    最近更新 更多