After surfing and implementing the above sugesstion ,I have come to solution that call the action file directly in case of chekbox,although there can be alternates but as of now i am unaware of it.
the problem is with my struts.xml it should be
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts
Configuration 2.1//EN" "http://struts.apache.org/dtds/struts-2.1.dtd">
<struts>
<package name="default" extends="struts-default">
<action name="upload" class="com.javapoint.UploadProfile">
<result name="profileuploaded">ProfileUploaded.jsp</result>
<result name="error">index.jsp</result>
</action>
<action name="UploadProfile" class="com.javapoint.UploadProfile" method="display">
<result name="none">/step1.jsp</result>
</action>
</package>
</struts>
and the final action file is
package com.javapoint;
import java.util.ArrayList;
import java.util.List;
import com.opensymphony.xwork2.ActionSupport;
public class UploadProfile extends ActionSupport {
/**
*
*/
private static final long serialVersionUID = 1L;
private String fname;
private String lname;
private String mstatus;
private String gender;
private String country;
private String[] defaultsubscription;
private String[] yoursubscription;
private List<String> subscription;
public String getFname() {
System.out.println("inside getfname");
return fname;
}
public void setFname(String fname) {
System.out.println("inside getfname");
System.out.println("the firstname set is "+fname);
this.fname = fname;
}
public String getLname() {
return lname;
}
public void setLname(String lname) {
this.lname = lname;
System.out.println("the lastname set is "+ lname);
}
public String getMstatus() {
return mstatus;
}
public void setMstatus(String mstatus) {
this.mstatus = mstatus;
}
public String getGender() {
return gender;
}
public void setGender(String gender) {
this.gender = gender;
}
public String getCountry() {
return country;
}
public void setCountry(String country) {
this.country = country;
System.out.println(country);
}
public String[] getYoursubscription() {
return yoursubscription;
}
public void setYoursubscription(String[] yoursubscription) {
this.yoursubscription = yoursubscription;
}
public UploadProfile(){
System.out.println("inside constructor");
subscription=new ArrayList<String>();
subscription.add("Politics");
subscription.add("Sports");
subscription.add("Editorial");
subscription.add("Gadgets");
subscription.add("Overdrive");
}
public String[] getDefaultSubscription(){
return new String [] {"Politics", "Sports"};
}
public List<String> getSubscription() {
return subscription;
}
public void setSubscription(List<String> subscription) {
this.subscription = subscription;
}
public String execute()throws Exception{
System.out.println("inside execute");
System.out.println(yoursubscription.toString()+" "+subscription+" "+defaultsubscription);
if(fname!=null){
return "profileuploaded";
}else{
return "error";
}
}
public String display() {
return NONE;
}
}