1 Renommage en masse des fichiers .jsp en .xhtml
2 Écriture des template_basic.xhtml et template.xhtml
(en fonction des includes trouvés dans les jsp)
3 Remplacement en masse des "e:page" par des "ui:composition/ui:define"
- remplacement par lot basé sur des expressions régulières (à la sed) avec emacs. Ces expressions sont fonctions du contenu des pages, donc propres à l'application et non généralisables (du moins pas facilement). Elles sont donc à adapter et données ici uniquement à titre d'exemple; on pourra utiliser pour les construires la fonction 'regexp-builder' d'emacs.
- regexp :
<e:page(.|\s-)*?navigation\.jsp\"%>
- remplacée par :
<ui:composition xmlns:f="http://java.sun.com/jsf/core" xmlns:ui="http://java.sun.com/jsf/facelets" xmlns:h="http://java.sun.com/jsf/html" xmlns:t="http://myfaces.apache.org/tomahawk" xmlns ="http://primefaces.prime.com.tr/ui" template="template.xhtml"> <ui:define name="content">
- évidemment, remplacement en masse des balises fermantes correspondantes soit :
- regexp :
</e:page>
- remplacée par :
</ui:define> </ui:composition>
- regexp :
- la première regexp m'a supprimé deux t:div ouvrant, d'où l'étape de remplacement en masse suivante :
- regexp :
^\s-?</t:div>(.|\s-)?</ui:define>
- remplacée par :
</t:div> </ui:define>
- regexp :
4 Suppression des '<% blah… %>' restant
- regexp :
^\s-?<%.?$
- remplacée par : rien du tout
5 Remplacement des '<br>' par des '<br />'
6 Remplacement des 'e:' et 't:' par des 'h:' ou 'f:' ou 'p:*' ou balise xhtml
Tableau de correspondances :
Esup-commons e:* |
Tomahawk t:* |
|
JSF2 Html h:* |
JSF2 Core f:* |
Primefaces p:* |
XHTML |
---|---|---|---|---|---|---|
messages |
- |
|
messages |
- |
- |
- |
text |
- |
|
outputText |
- |
- |
- |
dataTable |
- |
|
dataTable |
- |
- |
- |
commandButton |
- |
|
commandButton |
- |
- |
- |
inputText |
- |
|
inputText |
- |
- |
- |
selectOneMenu |
- |
|
selectOneMenu |
- |
- |
- |
outputLabel |
- |
|
outputLabel |
- |
- |
- |
paginator |
- |
|
? |
- |
? |
- |
subsection |
- |
|
- |
- |
- |
h1 |
section |
- |
|
- |
- |
- |
h2 |
menu |
- |
|
- |
- |
menu |
ul |
menuItem |
- |
|
- |
- |
menuitem |
li + h:commandLink |
italic |
- |
|
- |
- |
- |
i |
bold |
- |
|
- |
- |
- |
em |
ul |
- |
|
- |
- |
- |
ul |
li |
- |
|
- |
- |
- |
li |
- |
div |
|
- |
- |
- |
div |
- |
outputText |
|
outputText |
- |
- |
- |
- |
column |
|
column |
- |
- |
- |
- |
panelGroup |
|
panelGroup |
- |
- |
- |
- |
updateActionListener |
|
- |
setPropertyActionListener |
- |
- |
- |
dataList |
|
- |
- |
dataList |
- |
- |
graphicImage |
|
- |
- |
graphicImage |
- |
- |
htmlTag (ex: 'br') |
|
- |
- |
- |
* (ex: <br />) |
- |
panelNavigation2 |
|
? |
- |
? |
- |
- |
popup |
|
? |
- |
? |
- |
HTML generated by org-mode 6.33x in emacs 23