我几乎所有的项目都在
jsp and servlets
中,现在我想将 primefaces
中的页面添加到我的导航栏...无论我尝试过什么,它都不会将其添加到我的项目中。 ..我是否在 web.xml
文件中遗漏了某些内容?当我尝试将 primefaces
添加到我的 jsp and servlets
项目时,为什么它没有显示在我的页面上?是否可以将 primefaces
添加到 jsp
?
来自
primefaces
我想添加 index.xhtml
、appmenu.xhtml
和 template.xhtml
这些是我的
index.html
和 navbar.jsp
看起来像这样...所以我想通过将 index.xhtml
添加到我的导航类来完成类似的事情
index.html
<ul class="nav">
<li class="active"><a href="#">Home</a></li>
<li><a href="assets.jsp">Assets</a></li>
<li><a href="groups.jsp">Groups</a></li>
<li><a href="LocationServlet">Locations</a></li>
<li><a href="relocate.jsp">Relocate</a></li>
<li><a href="index.xhtml">Reports</a></li>
</ul>
所以我在我的导航栏类中尝试使用 href="index.xhtml 进行同样的操作
navbar.jsp
<ul class="nav">
<li <c:if test="${param.pageName == 'home'}">class="active"</c:if>><a href="index.html">Home</a></li>
<li <c:if test="${param.pageName == 'assets'}">class="active"</c:if>><a href="assets.jsp">Assets</a></li>
<li <c:if test="${param.pageName == 'groups'}">class="active"</c:if>><a href="groups.jsp">Groups</a></li>
<li <c:if test="${param.pageName == 'locations'}">class="active"</c:if>><a href="${pageContext.request.contextPath}/LocationServlet">Locations</a></li>
<li <c:if test="${param.pageName == 'relocate'}">class="active"</c:if>><a href="relocate.jsp">Relocate</a></li>
<li <c:if test="${param.pageName == #}">class="active"</c:if>><a href="index.xhtml">Reports</a></li>
</ul>
Primefaces 是一个 JSF 框架,所以你的问题的答案是否定的。通过添加 myfaces 或 mojarra JSF 实现应该可以实现,但它是一个丑陋的混合体,而不仅仅是 JSP。
还有,
<c:if test="${param.pageName == #}">
应该是 <c:if test="${param.pageName == '#'}">
才能使测试为真,除非 # 是变量或拼写错误?
:可以在 JSP 中添加 Primeface。
首先,在Jsp页面中导入xhtml页面:
示例:
创建一个 Bean 以确保在 jsp 中支持 xhtml 扩展:
@ViewScoped
public class JSFSupport extends SpringBeanAutowiringSupport{
public void ensureXHTML(){
RequestStateManager.set(FacesContext.getCurrentInstance(), "com.sun.faces.INVOCATION_PATH",".xhtml" );
}
}
在xhtml中添加预渲染事件
<f:event type="preRenderView" listener="#{jspPageSupport.ensureXHTML()}"/>
primefaces应该在jsp页面内正常工作。
如果使用 Spring MVC 或 SpringBoot 扩展类“SpringBeanAutowiringSupport”