Estou com um problema…
Eu tenho o seguinte código no meu struts.xml
<action name="UserLogin" class="web.struts.action.UserLogin">
<result name="success">/pages/user/loginsuccess.jsp</result>
<result name="error">/pages/user/userlogin.jsp</result>
</action>
Com isso eu redireciono o resultado da classe UserLogin para a respectiva pagina jps caso tenha sucesso ou não.
Porém agora eu não quero mais utilizar esse xml.
Então eu comentei esse código do arquivo struts.xml e coloquei annotations na classe UserLogin como mostro a seguir
imports ...
@Results({
@Result(name="success", value="/pages/user/loginsuccess.jsp"),
@Result(name="error", value="/pages/user/userlogin.jsp")
})
public class UserLogin extends ActionSupport {
private String action = "add";
private String userid = null;
private String password = null;
public String execute() throws Exception {
// Retrieve the DAO Reference
HttpServletRequest request = ServletActionContext.getRequest();
SpringHibernateDAO springHibernateDAO = (SpringHibernateDAO) ServiceFinder
.getContext(request).getBean("SpringHibernateDao");
// Create object of ActionMesssages
boolean loginStatus = springHibernateDAO.checkUserLogin(userid, password);
if (loginStatus == true) {
HttpSession session = request.getSession();
session.setAttribute("userID", userid);
String id = String.valueOf(springHibernateDAO.getUserId(userid));
session.setAttribute("ID", id);
System.out.println("Session value:"
+ session.getAttribute("userID"));
return SUCCESS;
} else {
// not allowed
addActionError(getText("error.login.invalid"));
return ERROR;
}
}
...
Só q tá com o seguinte erro:
type Status report
message There is no Action mapped for namespace /user and action name UserLogin.
description The requested resource (There is no Action mapped for namespace /user and action name UserLogin.) is not available.
A minha pergunta é:
Existe alguma annotation para fazer o struts identificar o bean da action em vez de mapear no xml??
Alguem pode me ajudar?? por favor??