【问题标题】:JSF 1.2 h:commandLink not working, mojarra is not definedJSF 1.2 h:commandLink 不起作用,未定义 mojarra
【发布时间】:2014-11-03 10:36:23
【问题描述】:

我在 websphere 7 上遇到了 JSF 1.2 的问题。 我正在尝试使用 JSF 实现导航。 我也在使用 RichFaces。

在浏览器的控制台中我收到了这个错误:Uncaught ReferenceError: mojarra is not defined

我见过其他人遇到这个问题,他们通过添加 <h:head> 解决了这个问题,但这对我不起作用。

感谢您的帮助

我的导航.xhtml

<?xml version="1.0" ?>
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core" xmlns:ui="http://java.sun.com/jsf/facelets">
<body>
<ui:composition>
    <h:form>
        <!-- Navigation -->
        <div id="navigation" class="navigation">
            <div class="level0">
               <h:commandLink action="#{navigation.toHome}" value="#{messages.elsi_dg_navigation_home}" />
            </div>
            <div class="level0">
                <h:commandLink action="#{navigation.toHistory}" value="#{messages.elsi_dg_navigation_history}" />
            </div>
        </div>
    </h:form>
</ui:composition></body></html>

NavigationBean.java

@Controller("navigation")
@Scope("session")
@ManagedBean
public class NavigationBean {

private String lastSite = "home";


public String toHome() {
    return this.processOutcome("home");
}

public String toHistory() {
    return this.processOutcome("history");
}

public String toCurrentPage() {
    return this.lastSite;
}

private String processOutcome(String outcome) {
    this.lastSite = outcome;
    return outcome;
}
}

HTML 输出:

<div id="navigation" class="navigation">
<form id="j_id19" name="j_id19" method="post" action="/elsi-dg/xhtml/home.xhtml" enctype="application/x-www-form-urlencoded">
<input type="hidden" name="j_id19" value="j_id19">
    <!-- Navigation -->
    <div id="navigation" class="navigation">
        <div class="level0"><a href="#" onclick="mojarra.jsfcljs(document.getElementById('j_id19'),{'j_id19:j_id21':'j_id19:j_id21'},'');return false">Home</a></div>
        <div class="level0"><a href="#" onclick="mojarra.jsfcljs(document.getElementById('j_id19'),{'j_id19:j_id23':'j_id19:j_id23'},'');return false">History</a></div>
    </div><input type="hidden" name="javax.faces.ViewState" id="javax.faces.ViewState" value="3428583661652779493:-8865896015881316410" autocomplete="off">
</form>
</div>

更新

&lt;a4j:commandLink&gt; 工作没有问题..

【问题讨论】:

    标签: java jsf navigation richfaces jsf-1.2


    【解决方案1】:

    也许问题出在标签 ui:compostion

     <ui:composition template="./template/template.xhtml">
    

    它通常需要一个模板文件

    你在用一个吗? 如果不是,请尝试删除&lt;ui:composition&gt; 标签。

    【讨论】:

    • 感谢您的回答。是的,我正在使用一个模板文件,但我忘了在我的问题中提及它。我目前使用 a4j 作为解决方法,这没有问题
    猜你喜欢
    • 2013-04-11
    • 1970-01-01
    • 1970-01-01
    • 2014-04-26
    • 2012-06-18
    • 2023-03-25
    • 2014-07-14
    • 2011-12-26
    • 2013-02-12
    相关资源
    最近更新 更多