This week's book giveaway is in the Design forum.
We're giving away four copies of Design for the Mind and have Victor S. Yocco on-line!
See this thread for details.
Win a copy of Design for the Mind this week in the Design forum!
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

Struts 2 Question

 
Vinayak Jallapelli
Greenhorn
Posts: 11
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Hi,
I am doing task on struts2. In that I have to use custom AutherizationInterceptor. In my custom Interceptor Im checking weather user is in session or not. And if he tries to attempt login I gave parameter in struts.xml as true So Im checking against it and interceptor redirects action to Home. But my problem is unable to get the request parameters in Home Action class.
Please help me I need to implement this code in my project.

My code is-------

In struts.xml for Login Attemp

<action name="home" class="com.mss.HomeAction">

<interceptor-ref name="authorizationInterceptor">
<param name="loginAttempt">true</param>
</interceptor-ref>

<result name="input">login.jsp</result>
<result name="login">login.jsp</result>
<result name="success">home.jsp</result>
</action>

My Interceptor -------

public class AutherizationInterceptor implements Interceptor,StrutsStatics {

//private HttpServletRequest httpServletRequest;
private boolean loginAttempt;
/** Creates a new instance of AuthorizationInterceptor */
public AuthorizationInterceptor() {
}
public void destroy() {
}
public void init() {
}

public String intercept(ActionInvocation actionInvocation) throws Exception {

final ActionContext context = actionInvocation.getInvocationContext();

Map session = context.getSession();
Action action = null;

if(loginAttempt) {
return actionInvocation.invoke();
} else {
if(session.get("userName") != null){
action = ( Action ) actionInvocation.getAction();
return actionInvocation.invoke();
} else {
return Action.LOGIN;
}
}
}

public void setLoginAttempt(boolean loginAttempt) {
this.loginAttempt = loginAttempt;
}

My Action Class*****

public String execute() {
resultType = SUCCESS;

String userName = getUserName();
System.err.println("hai ********");
String password = getPassword();
if(userName!=null && password != null) {
request.getSession().setAttribute("userName",userName);
request.getSession().setAttribute("password",password);
resultType = SUCCESS;
} else {
resultType = INPUT;
}
return resultType;
}

Thanks in advance...
 
Chengwei Lee
Ranch Hand
Posts: 884
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Have you taken a look at this?
[ April 29, 2008: Message edited by: Chengwei Lee ]
 
chad michael davis
Author
Greenhorn
Posts: 27
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
The parameter you set is auto-injected into the interceptor itself. Not the action. Do I misunderstand something?
 
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic