[Struts][xml]rechargement d'une page au passage par une action
Salut à tous :)
Bon, je suis encore dans mes soucis d'affichage de svg dans mon navigateur...
On va dire que le problème est à moitié résolu, mais de ce fait j'ai un autre petit souci :
Je souhaite recharger ma page synoptic.jsp, mais cela depuis une page qui est incluse dans celle-ci.
Je m'explique :
code de synoptic.jsp :
Code:
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 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82
| <%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean" %>
<%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html" %>
<%@ taglib uri="/WEB-INF/struts-logic.tld" prefix="logic" %>
<%@ taglib uri="/WEB-INF/struts-template.tld" prefix="template" %>
<%@ taglib uri="/WEB-INF/struts-tiles.tld" prefix="tiles" %>
<%@ taglib uri="/WEB-INF/struts-menu-el.tld" prefix="menu-el" %>
<%@ taglib uri="http://struts-menu.sf.net/tag" prefix="menu" %>
<%@ taglib uri="http://java.sun.com/jstl/core" prefix="c" %>
<logic:notPresent scope="session" name="LOGIN">
<logic:forward name="sessionexpiree"/>
</logic:notPresent>
<html>
<head>
<script language="JavaScript" src="<%=request.getContextPath()%>/jsp/js/synoptic.js" ></script>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link rel="stylesheet" href="<%=request.getContextPath()%>/jsp/style/stylesheet.css" type="text/css">
<title><bean:message key="synoptic.title" /></title>
</head>
<tiles:insert page="/jsp/header.jsp" flush="true"/>
<frameset>
<frame noresize scrolling="yes" name="Cadre Image">
</frameset>
<body id="nicetabs" >
<div class="logout">
<html:link action="/logout.do">
<bean:message key="administration.adminGroups.group.link.logout" />
</html:link>
<br>
</div>
<div id="header">
<menu:useMenuDisplayer name="TabbedMenu" repository="repository">
<c:forEach var="menus" items="${repository.topMenus}">
<menu-el:displayMenu name="${menus.name}"/>
</c:forEach>
</menu:useMenuDisplayer>
</div>
<br><br><br><br>
<div class="zonesynoptic">
<table>
<tr>
<td>
<div>
<%--List of synoptics the user can see--%>
<html:form action="/synoptic">
<html:hidden property="synoptic" value=""/>
<select size="5">
<option onclick="setSynoptic('image1',this)">Synoptic Layers</option>
<option onclick="setSynoptic('image2',this)">Synoptic Link Objects</option>
</select>
</html:form>
<%--End List of synoptics--%>
</div>
</td>
<%--Links on one selected element--%>
<td>
<%--If one element is selected, his id appears in the first column, else 'NONE' is displayed
this iframe shows the links upon an element selected--%>
<iframe Frameborder=0 Scrolling=no height="60px" width="900" src="jsp/Popup.jsp" ></iframe >
</td>
<%--End Links on one selected element--%>
</tr>
</table>
</div>
<div>
<table>
<tr>
<div onclick="updatePage()" id="divMapSvg">
<%@ include file="synopticMap.jsp" %>
</div>
</tr>
</table>
<br>
</div>
</body>
<tiles:insert page="/jsp/footer.jsp" flush="true"/>
</html> |
et celui de synopticMap.jsp :
Code:
1 2 3
| <iframe onclick="updatePage()" id="image" src="<%=jsp/images/image2.svg%>" height="700px" width="1100px">
<p>(Contenu alternatif: image+texte, texte seulement...)</p>
</iframe> |
Le problème avec le svg dans les jsp c'est que depuis les javascripts que j'ai inclus dans ma page image2.svg, je n'ai pas acces à l'objet window qui correspons à la page synoptic.js. Le seul truc auquel j'ai acces depuis image2.svg c'est l'objet "document" se rapportant unique ment à ce qui est dans image2.svg.... Ce qui est gênant car je souhaiterais pouvoir faire la chose suivante :
Cliquer sur un rectangle dessiné dans image2.svg, et que cela me mette à jour des données affichées dans la page "synoptic.jsp".... C'est à dire tout simplement de recharger la page synoptic.jsp....
Quelqu'un a une idée?