Bonjour,
J'utilise Struts 2 avec Sitemesh pour la mise en forme de mes JSP.
Le problème que je rencontre concerne les Frame. En effet, j'ai besoin que mon appli web comporte une frame cachée dans laquelle se trouvera une applet.
Mais je ne trouve rien concernant la configuration de sitemesh pour gérer les frames... J'ai bien tenté des choses mais sans succès.
Quelqu'un pourrait-il m'aider??
Voici mes codes:
sitemesh.xml
decorators.xmlCode:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51 <?xml version="1.0" encoding="UTF-8" ?> <sitemesh> <property name="decorators-file" value="/WEB-INF/decorators.xml"/> <excludes file="${decorators-file}"/> <page-parsers> <parser content-type="text/html" class="com.opensymphony.module.sitemesh.parser.FastPageParser"/> </page-parsers> <decorator-mappers> <mapper class="com.opensymphony.module.sitemesh.mapper.PageDecoratorMapper"> <param name="property.1" value="meta.decorator"/> <param name="property.2" value="decorator"/> </mapper> <mapper class="com.opensymphony.module.sitemesh.mapper.FrameSetDecoratorMapper"> <param name="decorator" value="decorator"/> </mapper> <mapper class="com.opensymphony.module.sitemesh.mapper.AgentDecoratorMapper"> <param name="match.MSIE" value="ie"/> <param name="match.Mozilla [" value="ns"/> <param name="match.Opera" value="opera"/> <param name="match.Lynx" value="lynx"/> </mapper> <mapper class="com.opensymphony.module.sitemesh.mapper.PrintableDecoratorMapper"> <param name="decorator" value="printable"/> <param name="parameter.name" value="printable"/> <param name="parameter.value" value="true"/> </mapper> <mapper class="com.opensymphony.module.sitemesh.mapper.RobotDecoratorMapper"> <param name="decorator" value="robot"/> </mapper> <mapper class="com.opensymphony.module.sitemesh.mapper.ParameterDecoratorMapper"> <param name="decorator.parameter" value="decorator"/> <param name="parameter.name" value="confirm"/> <param name="parameter.value" value="true"/> </mapper> <mapper class="com.opensymphony.module.sitemesh.mapper.ConfigDecoratorMapper"> <param name="config" value="${decorators-file}"/> </mapper> </decorator-mappers> </sitemesh>
frame.jspCode:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 <?xml version="1.0" encoding="ISO-8859-1"?> <decorators defaultdir="/WEB-INF/decorators"> <!-- Any urls that are excluded will never be decorated by Sitemesh --> <excludes> <pattern>/nodecorate/*</pattern> <pattern>/styles/*</pattern> <pattern>/scripts/*</pattern> <pattern>/images/*</pattern> <pattern>/dojo/*</pattern> <pattern>/struts/*</pattern> </excludes> <decorator name="main" page="frame.jsp"> <pattern>/*</pattern> </decorator> </decorators>
Le problème c'est qu'il va chercher main.jsp et applet.jsp dans le répertoire de mon appli web et non dans le répertoire decorator (ou se trouve également frame.jsp)...Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <%@ page contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %> <%@taglib prefix="decorator" uri="http://www.opensymphony.com/sitemesh/decorator" %> <%@taglib prefix="page" uri="http://www.opensymphony.com/sitemesh/page" %> <%@taglib prefix="s" uri="/struts-tags" %> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> <head> </head> <frameset ROWS="20%,80%"> <frame SRC="applet.jsp" NAME="haut"> <frame SRC="main.jsp" NAME="bas"> </frameset> <noframes><body><p>no frame page</p></body></noframes> </html>