Моих классов действий часто имеет переменную action
поля, которое было присвоено значением внутри метода execute()
:Пользователя должен пройти через действие первого перед визуализацией JSP
public class MyAction extends ActionSupport {
private static final long serialVersionUID = 1L;
private String action;
@Override
public String execute() throws Exception {
action = "true";
// code here
return SUCCESS;
}
public String getAction() {
return action;
}
public void setAction(String action) {
this.action = action;
}
}
В JSP, я проверить, является ли action
переменными (который теперь передается как запрос) null
. Если null
, он будет перенаправлять к классу действий, иначе, он будет продолжать оказывать страницу:
<head>
<c:if test="${action == null}">
<c:redirect url="myaction" />
</c:if>
</head>
я делаю это, чтобы гарантировать, что пользователь проходит через действие первый в случае, если они пытаются незаконно прыгайте JSP.
Он работает по назначению, но есть ли другой элегантный способ сделать это?
Вы делаете это неправильный путь. Просто поставьте jsp-s под WEB-INF. –
Не будет ли это статус статуса 404? Что, если я хочу, чтобы он тоже перенаправлялся? – silver
Страницы должны быть доступны только из действий. Перенаправление не является проблемой. –