Struts 2 Store User Input Details In Separate Java Bean

Struts » on Oct 23, 2011 { 20 Comments } By Sivateja

Let us see how to store user input details in the separate bean, actually up to now we stored user input values in Action class by writing setters and getter methods, but there is a chance to store in separate bean class, will see how.

Advantage Of Taking Separate Java Bean

Is to get re-usability, means if more than one Action class need to use the same properties then same properties we can use from this java bean it self with out wiring setters and getters in both Action classes.

Any ways files required…

  • success.jsp
  • error.jsp
  • index.jsp
  • [ in java4s package ]
  • [ in java4s package ]
  • web.xml [ in web-inf ]
  • struts.xml [ in web-inf/classes folder ]

Directory Structure


<%@ taglib prefix="s" uri="/struts-tags" %>

<s:form action="verify">

    <s:textfield name="beanobject.uname" label="Enter Username" /><br>
    <s:textfield name="beanobject.age" label="Enter Age" /><br>
    <s:textfield name="" label="sex" /><br>

    <s:submit value="Click" align="center" /> 



<%@ taglib prefix="s" uri="/struts-tags" %>

Hello <s:property value="beanobject.uname" />
Your age is:  <s:property value="beanobject.age" />
and sex : <s:property value="" />


<%@ taglib prefix="s" uri="/struts-tags" %>
This is error page...!!!!

package java4s;
import com.opensymphony.xwork2.ActionSupport;

public class LogingEx extends ActionSupport{
    private static final long serialVersionUID = 1L;

    private MyBean beanobject;

    public MyBean getBeanobject() {
        return beanobject;

    public void setBeanobject(MyBean beanobject) {
        this.beanobject = beanobject;

    public String execute()
        return SUCCESS;


package java4s;

public class MyBean{

	private static final long serialVersionUID = 1L;

	private String uname,sex;
	private int age;
	public String getUname() {
		return uname;
	public void setUname(String uname) {
		this.uname = uname;
	public String getSex() {
		return sex;
	public void setSex(String sex) { = sex;
	public int getAge() {
		return age;
	public void setAge(int age) {
		this.age = age;



<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="" xmlns="" xmlns:web="" xsi:schemaLocation="" id="WebApp_ID" version="2.5">


<?xml version="1.0" encoding="UTF-8"?>

"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"

<include file="struts-default.xml"/>
<package name="a" extends="struts-default">
<action name="verify" class="java4s.LogingEx">
<result name="success">/success.jsp</result>
<result name="error">/error.jsp</result>

After Execution



You Might Also Like

  ::. About the Author .::

Sivateja Kandula - Java/J2EE Full Stack Developer
Founder of Java4s - Get It Yourself, A popular Java/J2EE Programming Blog, Love Java and UI frameworks.
You can sign-up for the Email Newsletter for your daily dose of Java tutorials.


20 Responses to “Struts 2 Store User Input Details In Separate Java Bean”
  1. Mohammed Vaseem says:

    Hello Java4s,
    Thanks for all your support to learn the latest technologies of JAVA.
    Please provide theory part also which describes each line of code as how you provided in the hibernate tutorial.

    Thanks & Regards:
    Mohammed Vaseem

  2. saikrishna says:

    hello java4s,

    in the above example in the index.jsp file you have written the textfield name as (beanobject.uname),is it mandatory that we need to write all the parameter names in the form of (beanclass reference.somename)

    i have tried writing it as just uname in index.jsp and the same in success.jsp .but i couldn’t retrieve the values wen i run it…

  3. Java4s says:


    Yeah its mandatory 🙂
    See beanobject.uname, here beanobject is the object of bean class created in Action class (line number 7).

    those names must be same, then only internal mapping will be done.

  4. Hemanth says:

    When i am running my application, in index.jsp page it is displaying error like:
    Java backtrace for programmers:
    freemarker.core.NonStringException: Error on line 26, column 13 in template/simple/dynamic-attributes.ftl
    Expecting a string, date or number here, Expression parameters.dynamicAttributes[aKey] is instead a freemarker.ext.beans.SimpleMethodModel at freemarker.core.Expression.getStringValue(

    i don’t why it is giving this error,
    can any one help in this…..please…….

  5. Pavan Tej says:

    How can i validate bean object properties?

  6. Hi friend . i want to jsp gird row data to click on first column it takes entire row data and set particular controls to entire row data and edit the data and save it.i have no idea about tat. so pls post or reply

  7. andy says:

    Wouldn’t it be easier to use ModelDriven intarface?

  8. hrushi says:

    private static final long serialVersionUID = 1L; is this necessary to write this code

  9. rakhi says:

    When I am running this application I am getting an exception “NullPointerException” 🙁

  10. vaibhav says:

    How to validate MyBean values from jsp page

  11. Mahesh says:

    It doesn’t set the values in the beanOject.
    I have crossed the code ample of times, but the error persists.


  12. Maehsh says:

    I tried running the code. but it just doesn’t set the user inputs to the beanObject.
    Please help.
    I cross checked the code ample of times but no luck.


  13. vijay says:

    Hi Dear Siva Teja,
    you used Exxlent Theme for your Blog. I want to Purchase which you used Theme.
    Pls give me advise where can i purchase in online.

  14. Swathi says:

    Thank You very much. This article moved me to improve in struts.

  15. sainath says:

    Thanks a lot………….

  16. Ross says:


    The bean values are display as null as soon as you go to another JSP or action – not very re-usable!

    Am I doing something wrong?

  17. ganapathi vangapandu says:

    this one always shows like that .one error is there.please resolve this one.

    WARNING: No configuration found for the specified action: 'verify' in namespace: ''. Form action defaulting to 'action' attribute's literal value.


By posting your answer, you agree to our comments policy.
Most Recent Posts from Top Categories
Spring Boot Hibernate Spring
Contact | About Us | Privacy Policy | Advertise With Us

© 2010 - 2024 Java4s - Get It Yourself.
The content is copyrighted to Sivateja Kandula and may not be reproduced on other websites.