如何在具有弹簧安全性的展示网站上显示Primefaces版本



我在 glassfish 4 服务器上运行了一个修改后的素数展示,大多数东西都可以工作,但是版本没有正确显示(在网站底部)。我采用了原始版本并将其与弹簧安全性相结合。

模板中的代码.xhtml

Running #{build.primefacesVersion} on #{build.jsfVersion}.

原始版本给了我

Running PrimeFaces-5.1 on Mojarra-2.2.7

修改后的版本显示

Running ${primefacesVersion} on ${jsfVersion}.

在 http://localhost:8080/jsfsecure_copy/faces/index_1.xhtml。

也许问题出在我的配置中?

人脸配置.xml

<?xml version='1.0' encoding='UTF-8'?>
<faces-config version="2.2"
xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-facesconfig_2_2.xsd">
<application>
    <action-listener>org.primefaces.application.DialogActionListener</action-listener>
    <navigation-handler>org.primefaces.application.DialogNavigationHandler</navigation-handler>
    <view-handler>org.primefaces.application.DialogViewHandler</view-handler>
    <navigation-handler>org.primefaces.mobile.application.MobileNavigationHandler</navigation-handler>
    <locale-config>
        <default-locale>en</default-locale>
    </locale-config>
    <el-resolver>org.primefaces.application.exceptionhandler.PrimeExceptionHandlerELResolver</el-resolver>
    <resource-bundle>
        <base-name>build</base-name>
        <var>build</var>
    </resource-bundle>
    <resource-bundle>
        <base-name>/Bundle</base-name>
        <var>bundle</var>
    </resource-bundle>
    <resource-bundle>
        <base-name>/Bundle</base-name>
        <var>bundle</var>
    </resource-bundle>
</application>
<converter>
    <converter-id>theme</converter-id>
    <converter-class>org.primefaces.showcase.convert.ThemeConverter</converter-class>
</converter>
<factory>
    <exception-handler-factory>org.primefaces.application.exceptionhandler.PrimeExceptionHandlerFactory</exception-handler-factory>
</factory>
<!-- for spring security -->
<lifecycle>
    <phase-listener>edu.wctc.maven.glassfish.jsfsecure.util.LoginErrorPhaseListener</phase-listener>
</lifecycle>

更新:

我的构建属性:

jsfVersion=${jsfVersion}
primefacesVersion=${primefacesVersion}

我找到了解决方案,它必须在pom.xml中定义。我删除了定义<profile>部分:

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>edu.wctc.maven.glassfish</groupId>
<artifactId>jsfsecure_copy</artifactId>
<packaging>war</packaging>
<version>1.0-SNAPSHOT</version>
<name>jsfsecure_copy</name>
<properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <endorsed.dir>${project.build.directory}/endorsed</endorsed.dir>
    <org.springframework.version>4.0.3.RELEASE</org.springframework.version>
    <spring-security.version>3.2.5.RELEASE</spring-security.version>
    <junit.version>4.11</junit.version>
    <aspectj.version>1.7.1</aspectj.version>
</properties>
<dependencies>
    [...]
</dependencies>
<repositories>
    [...]
</repositories>
<build>
    [...]
</build>
<profiles>
    <profile>
        <id>stable</id>
        <activation>
            <activeByDefault>true</activeByDefault>
        </activation>
        <properties>
            <jsfVersion>Mojarra-2.2.7</jsfVersion>
            <primefacesVersion>PrimeFaces-5.1</primefacesVersion>
        </properties>
        <dependencies>
            <dependency>
                <groupId>org.primefaces</groupId>
                <artifactId>primefaces</artifactId>
                <version>5.1</version>
            </dependency>
            <dependency>
                <groupId>org.glassfish</groupId>
                <artifactId>javax.faces</artifactId>
                <version>2.2.7</version>
            </dependency>
        </dependencies>
    </profile>
</profiles>

所以我现在理解的是模板中的 EL 表达式.xhtml

#{build.primefacesVersion}#{build.jsfVersion}

将在 \src\main\resources\ build.properties 中查找

jsfVersion=${jsfVersion}
primefacesVersion=${primefacesVersion}

这是引用pom.xml

<properties>
    <jsfVersion>Mojarra-2.2.7</jsfVersion>
    <primefacesVersion>PrimeFaces-5.1</primefacesVersion>
</properties>

最新更新