Dynamic Results in Struts 2

Author posted by Jitendra on Posted on under category Categories Struts and tagged as Tags with 1 Comment on Dynamic Results in Struts 2

Example and sourcecode of creating Dynamic Results in Struts 2

In Struts 2, we can decide next action to be executed at runtime with complete set of its own interceptors.  here i will assume the example and source code of the previous article.

For this demo, change the existing Action class code:

package com.G2.Actions;

import com.G2.Model.LoginValidate;
import com.opensymphony.xwork2.ActionSupport;

public class LoginAction extends ActionSupport {

	String uName,pwd;
	String nextAction;

	public String execute() throws Exception {
		boolean res = LoginValidate.isLoginValid(uName, pwd);

			nextAction = "LoginSuccess";
			nextAction = "LoginInput";

		return  "next";

	public String getNextAction() {
		return nextAction;

	public void setNextAction(String nextAction) {
		this.nextAction = nextAction;

	public String getuName() {
		return uName;

	public void setuName(String uName) {
		this.uName = uName;

	public String getPwd() {
		return pwd;

	public void setPwd(String pwd) {
		this.pwd = pwd;

As you can see, I have added one more filed with setters and getters named “nextAction”, which will be accessed in struts configuration file.

Change in Configuration file :

<?xml version="1.0" encoding="UTF-8" ?>
        "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"


	<package name="Login" extends="struts-default">
		<action name="LoginInput">

		<action name="LoginSuccess">
			<result >/pages/LoginSuccess.jsp</result>

		<action name="LoginAction" class="com.G2.Actions.LoginAction">
			<result name="next" type="redirectAction">${nextAction}</result>


Here we are redirecting, on the next action if the result name is “next”. The next action is decided by the variable “nextAction” of the Action class. In above configuration if we change the result type to “chain” instead of “redirectAction”, then still application will run.

Related posts

One thought on “Dynamic Results in Struts 2”

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.