【问题标题】:JSF - Marquee shows nothing after reloadJSF - 重新加载后选取框不显示任何内容
【发布时间】:2014-03-24 12:31:39
【问题描述】:

刷新页面后,marquee tag 的内容不知何故为空。

<f:verbatim><marquee>#{circuitBean.feed}</marquee></f:verbatim>

这个问题在我的项目中发生了多次,正如我在另一个 question 中所描述的那样。

所以我认为这是一个普遍的问题,与我之前的问题没有具体关系。和我的bean-annotations 有什么关系吗?

支持 Bean

@ManagedBean
@ApplicationScoped
public class CircuitBean implements Serializable{

    @EJB
    FeedEJB feedEJB;

    private String feed;

    public String getFeed() {
        feed = feedEJB.getFeedString();
        return feed; 
    }
}

编辑

即使在 JS 中设置一个变量来保存提要,在页面刷新后它也会变为空!

var feed = #{circuitBean.feed};
--> becomes -->
var feed = ;

【问题讨论】:

    标签: java html jsf-2 javabeans marquee


    【解决方案1】:

    如果我没记错的话,marquee 标签在 HTML 4.0 及更高版本中已被弃用。这些天它驻留在 CSS 中。

    【讨论】:

    • 感谢您的提示,虽然最初的问题仍然存在,但页面刷新后提要变为空
    • 在页面刷新调试期间,Feed 的值是否变为“null”?
    • 感谢您的提示,找到我的问题,并会在几秒钟内发布。
    • 如果feed 之前不为空,feedEJBgetFeedString() 方法将返回一个空字符串。虽然从逻辑上讲,该方法应该返回旧的提要,如果它已经存在的话。
    • 实际上我只是想在您的 getFeed 方法中包含一个检查以确保提要不为空或为空可能不是一个坏主意。您可以通过创建 if 条件或在构建/调试期间使用断言来做到这一点,因为您可能会假设/知道在生产中总是应该有一个提要。
    猜你喜欢
    • 2022-01-08
    • 2011-05-25
    • 2021-04-23
    • 2011-07-25
    • 2023-04-11
    • 1970-01-01
    • 2016-03-27
    • 1970-01-01
    • 2013-11-15
    相关资源
    最近更新 更多