JSf标签没有被渲染

时间:2010-05-04 15:08:59

标签: jsf spring-security facelets

这是我在这里看到的一个问题,但发布的解决方案并未解决我的问题。我再次处理jsf 2.0,我有2个页面:login.xhtml和index.xhtml,我也使用SpringSecurity进行身份验证。 index.xhtml呈现正常但登录没有(页面源显示未解析的jsf标记)。我已经停用了SpringSecurity以检查是否与我的问题有关但没有运气......我真的不知道我的代码有什么问题(2天试图找出来),所以任何帮助都会非常感谢。这是我的代码:

的web.xml

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
<context-param>
    <param-name>javax.faces.PROJECT_STAGE</param-name>
    <param-value>Development</param-value>
</context-param>

<!-- Spring Security -->
<context-param>
    <param-name>contextConfigLocation</param-name>
    <param-value>/WEB-INF/applicationContext.xml</param-value>
</context-param>

<listener>
    <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<filter>
    <filter-name>springSecurityFilterChain</filter-name>
    <filter-class>org.springframework.web.filter.DelegatingFilterProxy</filter-class>
</filter>
<filter-mapping>
    <filter-name>springSecurityFilterChain</filter-name>
    <url-pattern>/*</url-pattern>
</filter-mapping>
<!-- Spring Security -->

<servlet>
    <servlet-name>Faces Servlet</servlet-name>
    <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
    <load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
    <servlet-name>Faces Servlet</servlet-name>
    <url-pattern>/faces/*</url-pattern>
</servlet-mapping>
<session-config>
    <session-timeout>
        30
    </session-timeout>
</session-config>
<welcome-file-list>
    <welcome-file>JSF2Example/index.xhtml</welcome-file>
</welcome-file-list>

login.xhtml的一部分

<h:head>
    <title>Ejemplo JSF 2 AJAX</title>
</h:head>
<h:body>
       <h:form id="login">
        <h:panelGrid columns="2">
            <h:outputLabel for="Usuario" value="Usuario:"/>
            <h:inputText id="Usuario" value="#{loginBean.userName}" required="true"/>
            <h:outputLabel for="Password" value="Contraseña:"/>
            <h:inputSecret id="Password" value="#{loginBean.password}"        required="true"/>
        </h:panelGrid>
        <h:commandButton value="Ingresar" actionListener="#{loginBean.doLogin}"/>
        <h:messages/>
    </h:form>
</h:body>

有任何想法吗?非常感谢!

1 个答案:

答案 0 :(得分:4)

  

页面源显示未解析的jsf标记

这可能有两个原因:

  1. 页面网址与url-pattern的{​​{1}}不匹配,因此没有机会解析代码。

  2. FacesServlet标记中缺少xmlns个JSF组件声明,因此它被视为纯文本。

相关问题