Я встречаю странную проблему с аннотацией struts2, позвольте мне сначала уточнить ее
@Results({
@Result(name = "input", location = "main.jsp"),
@Result(name = "list", location = "list.jsp")
})
public class MainAction extends ActionSupport {
private PortalUser user;
@Autowired
private PortalUserService portalUserService;
public String execute() throws Exception {
return INPUT;
}
@Action("addUser")
public String addUser() throws Exception {
portalUserService.addUser(user);
return listUser();
}
@Action("listUser")
@SkipValidation
public String listUser() throws Exception {
List theUserList = portalUserService.getPortalUserList(null);
ServletActionContext.getRequest().setAttribute("userList", theUserList);
return "list";
}
@Action("modifyUser")
public String modifyUser() throws Exception {
List theUserList = portalUserService.getPortalUserList(null);
ServletActionContext.getRequest().setAttribute("userList", theUserList);
return "list";
}
public void validate() {
if (user != null && StringUtils.isBlank(user.getUserName()))
addFieldError("accountBean.userName", "User name is required.");
System.out.println("validate @@@@@");
}
public PortalUser getUser() {
return user;
}
public void setUser(PortalUser user) {
this.user = user;
}
}
это класс действий struts2, я правильно его настраиваю и набираю URL
http://domain/listUser
в нем будут перечислены все пользователи http://domain/modifyUser
он может изменять пользователей
все идет хорошо в tomcat с взорванными файлами классов
Но когда ясоберите файл war и разверните его в папке tomcat webapp, на странице отчета отсутствует имя действия listUser.
Разница между этими двумя сценариями заключается в том, что файлы классов с разнесенными файлами и файлами архивов классов я собираю и собираю в них файлы действий и другие файлы классов.
Я был озадачен этим явлением.
Так что любые предложения и советы будут очень благодарны!