2010-09-28 3 views
2

У нас есть большое приложение, имеющее 13 модулей. Мы хотим создать файл войны для каждого модуля и развернуть приложение как EAR. Мы перемещаемся по разным страницам через верхнее меню, содержащее ссылку для всех модулей. Теперь проблема в том, что каждый модуль имеет свой собственный контекст. Для переключения контекста мы используем external.jspПереключение между несколькими войнами

<html> 
<head> 

<%@ include file="/private/jsp/header.jsp"%> 
<% 
String link= request.getQueryString(); 
%> 
</head> 

<body> 
<iframe id="ekawarframe" src="<%=link%>" width="100%" height="80%" scrolling="auto" frameborder="0"> 
</iframe> 
</body> 
</html> 

и используя ссылки в этом формате «/external.jsp?/app/newDerivativeTrade.do?method=loadNewDerivativeTrade & isFreight = ложь». Есть ли другой элегантный способ навигации по ссылкам между несколькими войнами.

ответ

1

Ну, вы можете просто ссылаться на другие модули, используя <a href="/anothermodule/">link</a>. Единственная проблема заключается в совместном использовании сеанса http. Сервер приложений может разрешить совместное использование сеанса http.

+1

Мы решили поделиться ссылками, указав контекст только так, как вам было предложено. У нас есть пользовательский текст в сеансе. Jboss не позволяет разделить сеанс между несколькими войнами. Мы используем JOSSO для одного знака, на котором генерирует идентификатор сеанса. Мы будем использовать ehcache для совместного использования пользовательского контекста с использованием комбинации идентификатора сеанса josso и usercontext в качестве ключа. –

0

Если вы используете maven как инструмент построения, вы можете добавить зависимость в ech-модуле к общей войне. Затем он будет объединен с войной модуля.

Затем вы можете распространять заголовок jsp (и другие распространенные вещи, такие как css, images и javascript) из одного общего модуля, и вам больше не нужен iframe.

0

Вы можете создать диспетчер сеанса на основе ключей, используя Redis ou MongoDB.