Can view the tutorials best in Google Chrome, Mozilla Firefox, Opera, higher version of Internet Explorer

Struts 2 Store User Input Details In Separate Java Bean

Struts » On Oct 23, 2011 | { 5 Comments }

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
  • LogingEx.java [ in java4s package ]
  • MyBean.java [ in java4s package ]
  • web.xml [ in web-inf ]
  • struts.xml [ in web-inf/classes folder ]

Directory Structure

index.jsp

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

<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="beanobject.sex" label="sex" /><br>

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

</s:form>
</body>
</html>

success.jsp

<%@ 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="beanobject.sex" />

error.jsp

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

LogingEx.java

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;
    }

}

MyBean.java

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) {
		this.sex = sex;
	}
	public int getAge() {
		return age;
	}
	public void setAge(int age) {
		this.age = age;
	}

}

web.xml

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5">
<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
</web-app>

struts.xml

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

<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">

<struts>
<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>
</action>
</package>
</struts>

After Execution

Output

 

What you are thinkig....

5 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,

    http://www.java4s.com/struts-tutorials/struts-2-store-user-input-details-in-separate-java-bean/

    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:

    @Saikrishna

    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(Expression.java:126)

    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?

If you want a pic to show with your comment, go get a gravatar !
Please post your questions on Java4s Answers forum

Name*
Ask a Question ?
or
Mail*
Website



By posting your answer, you agree to our comments policy.
Most Recent Tutorials
Hibernate Recent Posts
Spring Recent Posts
Struts Recent Posts
Recomandded Links Current & UpComing Tutorials Java4s.com
Tutorials Online :
spring Hibernate struts Json Ajax Log4j Log4j
coreJava Servlets


UpComing :
Servlets, Jsps
is optimized for learning java technologies, all the examples in this site are constantly reviewed to avoid errors. While using this site you agree to have read and accepted our terms of use and privacy policy
Especially i have prepared this blog by keeping fresher's in mind, however it will be very useful for real time developers too.


© 2013 Java4s All rights reserved. | strPro4Tut v(2.0) Theme designed by Team Java4s.