Newsletter |
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
- 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
You Might Also Like
::. About the Author .:: | ||
Comments
20 Responses to “Struts 2 Store User Input Details In Separate Java Bean”
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
hello java4s,
https://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…
@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.
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…….
How can i validate bean object properties?
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
Wouldn’t it be easier to use ModelDriven intarface?
private static final long serialVersionUID = 1L; is this necessary to write this code
When I am running this application I am getting an exception “NullPointerException” 🙁
very good
How to validate MyBean values from jsp page
Hello,
It doesn’t set the values in the beanOject.
I have crossed the code ample of times, but the error persists.
Stacktraces
java.lang.NullPointerException
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.
Stacktraces
java.lang.NullPointerException
Check your index.jsp file is having the same property value as defined in bean
Check your index.jsp
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.
Thank You very much. This article moved me to improve in struts.
Thanks a lot………….
Hello!
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?
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.