Есть ли способ, что я могу использовать префикс в качестве параметра или на пути нападающего, как:Использование префикса в качестве параметра в фа вперед
<forward name="test" path="/switch.do&page='/test.do'&prefix='/test'"/>
Есть ли способ, что я могу использовать префикс в качестве параметра или на пути нападающего, как:Использование префикса в качестве параметра в фа вперед
<forward name="test" path="/switch.do&page='/test.do'&prefix='/test'"/>
я не уверен, что это означает с prefix
, я Предположим, вы имеете в виду имя сервлета. Предположим, у вас есть этот вперед в вашем struts-config.xml
как часть action
отображения:
<forward name="test" path="/switch" />
Если вы хотите получить имена Нападающие доступны для ваших действий, вы можете получить их с mapping.findForwards()
.
Если у вас уже есть forward
, например:
ActionForward forward = mapping.findForward("test");
вы можете получить имя вперед с:
String fwdName = forward.getName(); // returns "test"
и имя сервлета или путь с:
String servletPath = forward.getPath(); // returns "/switch.do"
вы также можете получить его от объекта request
:
String servletPath = request.getServletPath();
КАМ, теперь, если вы хотите изменить вперед, прежде чем вернуть управление Struts, так что вы можете добавить дополнительные параметры, вам необходимо создать новый ActionForward
на основе одного из форвардов, определенные в вашем struts-config.xml
, как, например:
ActionForward forward = mapping.findForward("test");
StringBuilder path = new StringBuilder(forward.getPath());
path.append("?id=");
path.append(someobject.getId());
return new ActionForward(path.toString(), true); // `true` means "do a redirect"
Это сказать Struts выдавать редирект на URL, как /switch.do?id=3
Зная, как создать новую ActionForward
, и как получить имена forwar ds и имена сервлетов, на которые они указывают, у вас не должно возникнуть проблемы с построением форварда, который вам нужен.
Почему вы не используете атрибут запроса или сеанса – Fred