2015-01-26 51 views
0

我在glassfish 4服務器上運行修改過的primefaces展示,並且大部分工作都正常,但是版本未正確顯示(位於網站的底部)。我採用了原始版本,並將其與春季安全結合起來。如何在彈簧安全性的展示網站上顯示primefaces版本?

從的template.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

也許問題出在我的配置?

faces-config.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> 

更新:

我build.properties:

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

回答

0

我找到了解決方案,它必須在定義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表達式中的template.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>