10
votes

Comment afficher une numérisation de construire dans l'application Web à ressort

J'ai besoin d'afficher le numéro de construction dans ma page index.jsp xxx

Le numéro de construction peut être fourni par Maven dans un fichier * .properties. Quelle est la meilleure façon de lire le fichier * .properties et d'afficher une propriété avec le printemps?


1 commentaires

Voulez-vous une solution à base de ressort ou une solution basée sur Maven (par exemple filtrant le JSP)?


3 Réponses :


1
votes

AVERTISSEMENT FORT>: Le filtrage des ressources ne fonctionne pas de cette manière pour les fichiers .jsp. Comme Pascal thivent a souligné (merci) un index.jsp n'est pas une ressource mais appartient à la webApp.


Je ne connais pas la réponse exacte à votre question, mais vous pouvez coder le nombre d'instructions dans l'index. fichier .jsp avec Maven directement lorsque le fichier Index.jsp est copié dans le répertoire cible. Vous n'avez besoin que d'insérer une variable dans l'index.jsp et de configurer le plug-in Maven-Resource pour activer le filtrage. P>

Exemple: EM> Strong> p>

index.jsp strong> p> xxx pré>

configuration maven (extrait de pom.xml) strong> p> p>

<build>

    <!-- Enable Resource Filtering -->
    <resources>
        <resource>
            <directory>src/main/resources</directory>
            <filtering>true</filtering>
        </resource>
    </resources>

    <!-- Fetch the SVN build-number into var ${buildNumber} -->
    <plugins>
        <plugin>
            <groupId>org.codehaus.mojo</groupId>
            <artifactId>buildnumber-maven-plugin</artifactId>
            <executions>
                <execution>
                    <phase>validate</phase>
                    <goals>
                        <goal>create</goal>
                    </goals>
                </execution>
            </executions>
            <configuration>
                <doCheck>false</doCheck>
                <doUpdate>false</doUpdate>
            </configuration>
        </plugin>
    </plugins>

</build>


1 commentaires

Il est possible de filtrer web ressources mais pas comme ça, un JSP n'est pas une ressource .



6
votes

Vous pouvez charger le fichier .properties code> en tant que source de message de localisation (en utilisant code> code> ) et accédez-y dans JSP en utilisant code> ou code>:

src / main / ressources / buildinfo.properties code>: p> xxx pré>

buildnumber code> est exposé sous la forme de Roland Schneider suggère. P>

Configuration du contexte: P>

<resources>
    <resource>
        <directory>src/main/resources</directory>
        <filtering>true</filtering>
    </resource>
</resources>


2 commentaires

L'oiseau a volé après avoir ajouté des litres à web.xml: <écouteur> org.springframework.web.context.contextloade rlistener < Liste d'auditeur> org.springframework.web.context.request.requace estcontextListener


La partie clé qui manquait dans d'autres réponses / tutoriels que j'ai trouvées était la section de pom.xml . Merci!



4
votes

Voici comment je l'ai fait, à l'aide de Maven + JSTL et de quitter le printemps car il le rend plus compliqué.

build.jsp xxx

maven pom xxx

Plus de détails sur l'utilisation du plug-in BuildNumber-Maven peut être trouvé sur le Page d'utilisation .


2 commentaires

Comment Maven remplir-t-il $ {buildnumber} et $ {scmbranch} ? Dans mon cas, je veux tirer à partir d'une commande shell pour obtenir la balise et commettre l'identifiant de git (je sais faire la partie de la coquille).


@Davidharkness buildnumber-maven-plugin crée ceux-ci comme propriétés (comme expliqué dans son Page d'utilisation ). L'utilisation d'un script shell nécessiterait une approche différente.