我在websphere 7上遇到了JSF 1.2的问题。 我试图用JSF实现导航。 我也使用RichFaces。
在浏览器的控制台中,我收到此错误:Uncaught ReferenceError: mojarra is not defined
我已经看到了其他问题,他们通过添加<h:head>
解决了这个问题,但这对我没有用。
感谢您的帮助
我的navigation.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>
更新
<a4j:commandLink>
没问题。
答案 0 :(得分:0)
问题可能出在标签 ui:compostion
上 <ui:composition template="./template/template.xhtml">
通常需要模板文件。
你正在使用吗? 如果您不是,请尝试删除<ui:composition>
标记。