You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@struts.apache.org by siva <si...@ivycomptech.com> on 2006/02/13 11:05:36 UTC

Passing Parameters to ActionForward from Action

Hi,

 

I want to know how to pass parameters from an Action to corresponding
ActionForward.

Basically, I am having only the jsp name in forward in struts-config.xml.
But, when action is processed, I want to send some parameters to the
corresponding actionforward. 

 

Can some be help me in explaining how it can be achieved. 

 

Thanks,

Siva


RE: Passing Parameters to ActionForward from Action

Posted by Gunduz Can Topal <gt...@trend-tech.net>.
I am new to struts, there might be better ways to make this work.

You can maintain state information with session registery or http
parameters..

A working example:

----------------struts-config.xml
---------------------------------------

<form-beans>
        <form-bean name="loginForm" type="com.trend.forms.loginForm"/>  
</form-beans>

<action path="/login"
		input="/chatwalk.jsp" 			
		type="com.trend.actions.loginAction"
		name="loginForm" 				 
		scope="request"
		validate="true">
		<forward name="exception" path="/exception.jsp" />
		<forward name="success" path="/myChatwalk.jsp"/>
		<forward name="failure"
path="/chatwalk.jsp?auth=invalid&amp;nav=main"/>

</action>

-----------------loginAction.java -------------------------------------

public final class loginAction extends Action {

    public ActionForward execute(ActionMapping mapping,
                                 ActionForm form,
                                 HttpServletRequest request,
                                 HttpServletResponse response)
        throws Exception {
    	
    	CWUtil util = new CWUtil();
      CWDAO service = new CWDAO();
    	HttpSession session = request.getSession();
    	String auth = null;
    	ActionForward ret = null;
    	userBean user = new userBean();  	
      loginForm loginForm = (loginForm) form;
      loginBean login = new loginBean();
      BeanUtils.copyProperties( login, loginForm );
        
      try{
      	auth = service.login(login);
        	if(!auth.startsWith("Ex")){
        		user = util.parseLogin(auth);
        		session.setAttribute("user",user);
        		ret = mapping.findForward("success");
        	}else{
        		ret = mapping.findForward("failure");
        	} 
       }catch(Exception e){
        	System.out.println("exception at login action " +
e.getMessage());
        	ret = mapping.findForward("exception");
        }
        return ret;
    }
}

---------------------------- loginForm.java
--------------------------------

package com.trend.forms;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;

import org.apache.struts.action.ActionErrors;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.action.ActionMessage;


public class loginForm extends ActionForm {
	
	String username,password;

	public String getPassword() {
		return password;
	}

	public void setPassword(String password) {
		this.password = password;
	}

	public String getUsername() {
		return username;
	}

	public void setUsername(String username) {
		this.username = username;
	}
	
    public ActionErrors validate( ActionMapping mapping,
HttpServletRequest request ) {
    	ActionErrors errors = new ActionErrors();
    	HttpSession session = request.getSession();
    	if ( getUsername() == null || getUsername().trim().length() == 0
) {
            errors.add("username",new
ActionMessage("errors.required","username"));
            session.setAttribute("loginError","true");
        }if ( getPassword() == null || getPassword().trim().length() ==
0 ) {
            errors.add("password",new
ActionMessage("errors.required","password"));
            session.setAttribute("loginError","true");
        }
    	   	
    	return errors;
    }
}

-----------------------------------loginBean.java-----------------------
----

package com.trend.beans;

public class loginBean {
	
	String username,password;

	public String getPassword() {
		return password;
	}

	public void setPassword(String password) {
		this.password = password;
	}

	public String getUsername() {
		return username;
	}

	public void setUsername(String username) {
		this.username = username;
	}

}



-----Original Message-----
From: siva [mailto:sivag@ivycomptech.com] 
Sent: Monday, February 13, 2006 12:06 PM
To: user@struts.apache.org
Subject: Passing Parameters to ActionForward from Action

Hi,

 

I want to know how to pass parameters from an Action to corresponding
ActionForward.

Basically, I am having only the jsp name in forward in
struts-config.xml.
But, when action is processed, I want to send some parameters to the
corresponding actionforward. 

 

Can some be help me in explaining how it can be achieved. 

 

Thanks,

Siva




---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscribe@struts.apache.org
For additional commands, e-mail: user-help@struts.apache.org


RE: Passing Parameters to ActionForward from Action

Posted by siva <si...@ivycomptech.com>.
Hi Gunduz,

At first place having to much session information using session.setAttribute
will make the middleware to consume lot of memory. And, In an application
where there will be more users who could be online at the same point of
time. It is design constraint not to put lot of information in session.

So, This can be done only by passing parameters to the page. But, I couldn't
understand (came across) how to pass parameters to a jsp from Action. If you
came across anything about how to pass parameters to a jsp page let me know.

Thanks you very much,
Siva


-----Original Message-----
From: Gunduz Can Topal [mailto:gtopal@trend-tech.net] 
Sent: Monday, February 13, 2006 6:42 PM
To: 'Struts Users Mailing List'
Subject: RE: Passing Parameters to ActionForward from Action

I am new to struts, there might be better ways to make this work.

You can maintain state information with session registery or http
parameters..

A working example:

----------------struts-config.xml
---------------------------------------

<form-beans>
        <form-bean name="loginForm" type="com.trend.forms.loginForm"/>  
</form-beans>

<action path="/login"
		input="/chatwalk.jsp" 			
		type="com.trend.actions.loginAction"
		name="loginForm" 				 
		scope="request"
		validate="true">
		<forward name="exception" path="/exception.jsp" />
		<forward name="success" path="/myChatwalk.jsp"/>
		<forward name="failure"
path="/chatwalk.jsp?auth=invalid&amp;nav=main"/>

</action>

-----------------loginAction.java -------------------------------------

public final class loginAction extends Action {

    public ActionForward execute(ActionMapping mapping,
                                 ActionForm form,
                                 HttpServletRequest request,
                                 HttpServletResponse response)
        throws Exception {
    	
    	CWUtil util = new CWUtil();
      CWDAO service = new CWDAO();
    	HttpSession session = request.getSession();
    	String auth = null;
    	ActionForward ret = null;
    	userBean user = new userBean();  	
      loginForm loginForm = (loginForm) form;
      loginBean login = new loginBean();
      BeanUtils.copyProperties( login, loginForm );
        
      try{
      	auth = service.login(login);
        	if(!auth.startsWith("Ex")){
        		user = util.parseLogin(auth);
        		session.setAttribute("user",user);
        		ret = mapping.findForward("success");
        	}else{
        		ret = mapping.findForward("failure");
        	} 
       }catch(Exception e){
        	System.out.println("exception at login action " +
e.getMessage());
        	ret = mapping.findForward("exception");
        }
        return ret;
    }
}

---------------------------- loginForm.java
--------------------------------

package com.trend.forms;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;

import org.apache.struts.action.ActionErrors;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.action.ActionMessage;


public class loginForm extends ActionForm {
	
	String username,password;

	public String getPassword() {
		return password;
	}

	public void setPassword(String password) {
		this.password = password;
	}

	public String getUsername() {
		return username;
	}

	public void setUsername(String username) {
		this.username = username;
	}
	
    public ActionErrors validate( ActionMapping mapping,
HttpServletRequest request ) {
    	ActionErrors errors = new ActionErrors();
    	HttpSession session = request.getSession();
    	if ( getUsername() == null || getUsername().trim().length() == 0
) {
            errors.add("username",new
ActionMessage("errors.required","username"));
            session.setAttribute("loginError","true");
        }if ( getPassword() == null || getPassword().trim().length() ==
0 ) {
            errors.add("password",new
ActionMessage("errors.required","password"));
            session.setAttribute("loginError","true");
        }
    	   	
    	return errors;
    }
}

-----------------------------------loginBean.java-----------------------
----

package com.trend.beans;

public class loginBean {
	
	String username,password;

	public String getPassword() {
		return password;
	}

	public void setPassword(String password) {
		this.password = password;
	}

	public String getUsername() {
		return username;
	}

	public void setUsername(String username) {
		this.username = username;
	}

}



-----Original Message-----
From: siva [mailto:sivag@ivycomptech.com] 
Sent: Monday, February 13, 2006 12:06 PM
To: user@struts.apache.org
Subject: Passing Parameters to ActionForward from Action

Hi,

 

I want to know how to pass parameters from an Action to corresponding
ActionForward.

Basically, I am having only the jsp name in forward in
struts-config.xml.
But, when action is processed, I want to send some parameters to the
corresponding actionforward. 

 

Can some be help me in explaining how it can be achieved. 

 

Thanks,

Siva






---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscribe@struts.apache.org
For additional commands, e-mail: user-help@struts.apache.org


RE: Passing Parameters to ActionForward from Action

Posted by Gunduz Can Topal <gt...@trend-tech.net>.
I am new to struts, there might be better ways to make this work.

You can maintain state information with session registery or http
parameters..

A working example:

----------------struts-config.xml
---------------------------------------

<form-beans>
        <form-bean name="loginForm" type="com.trend.forms.loginForm"/>  
</form-beans>

<action path="/login"
		input="/chatwalk.jsp" 			
		type="com.trend.actions.loginAction"
		name="loginForm" 				 
		scope="request"
		validate="true">
		<forward name="exception" path="/exception.jsp" />
		<forward name="success" path="/myChatwalk.jsp"/>
		<forward name="failure"
path="/chatwalk.jsp?auth=invalid&amp;nav=main"/>

</action>

-----------------loginAction.java -------------------------------------

public final class loginAction extends Action {

    public ActionForward execute(ActionMapping mapping,
                                 ActionForm form,
                                 HttpServletRequest request,
                                 HttpServletResponse response)
        throws Exception {
    	
    	CWUtil util = new CWUtil();
      CWDAO service = new CWDAO();
    	HttpSession session = request.getSession();
    	String auth = null;
    	ActionForward ret = null;
    	userBean user = new userBean();  	
      loginForm loginForm = (loginForm) form;
      loginBean login = new loginBean();
      BeanUtils.copyProperties( login, loginForm );
        
      try{
      	auth = service.login(login);
        	if(!auth.startsWith("Ex")){
        		user = util.parseLogin(auth);
        		session.setAttribute("user",user);
        		ret = mapping.findForward("success");
        	}else{
        		ret = mapping.findForward("failure");
        	} 
       }catch(Exception e){
        	System.out.println("exception at login action " +
e.getMessage());
        	ret = mapping.findForward("exception");
        }
        return ret;
    }
}

---------------------------- loginForm.java
--------------------------------

package com.trend.forms;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;

import org.apache.struts.action.ActionErrors;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.action.ActionMessage;


public class loginForm extends ActionForm {
	
	String username,password;

	public String getPassword() {
		return password;
	}

	public void setPassword(String password) {
		this.password = password;
	}

	public String getUsername() {
		return username;
	}

	public void setUsername(String username) {
		this.username = username;
	}
	
    public ActionErrors validate( ActionMapping mapping,
HttpServletRequest request ) {
    	ActionErrors errors = new ActionErrors();
    	HttpSession session = request.getSession();
    	if ( getUsername() == null || getUsername().trim().length() == 0
) {
            errors.add("username",new
ActionMessage("errors.required","username"));
            session.setAttribute("loginError","true");
        }if ( getPassword() == null || getPassword().trim().length() ==
0 ) {
            errors.add("password",new
ActionMessage("errors.required","password"));
            session.setAttribute("loginError","true");
        }
    	   	
    	return errors;
    }
}

-----------------------------------loginBean.java-----------------------
----

package com.trend.beans;

public class loginBean {
	
	String username,password;

	public String getPassword() {
		return password;
	}

	public void setPassword(String password) {
		this.password = password;
	}

	public String getUsername() {
		return username;
	}

	public void setUsername(String username) {
		this.username = username;
	}

}



-----Original Message-----
From: siva [mailto:sivag@ivycomptech.com] 
Sent: Monday, February 13, 2006 12:06 PM
To: user@struts.apache.org
Subject: Passing Parameters to ActionForward from Action

Hi,

 

I want to know how to pass parameters from an Action to corresponding
ActionForward.

Basically, I am having only the jsp name in forward in
struts-config.xml.
But, when action is processed, I want to send some parameters to the
corresponding actionforward. 

 

Can some be help me in explaining how it can be achieved. 

 

Thanks,

Siva




---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscribe@struts.apache.org
For additional commands, e-mail: user-help@struts.apache.org