web.xml
<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath*:applicationContext.xml</param-value>
</context-param>
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
applicationContext.xml
<bean id="userAction" class="org.action.LoginAction" scope="prototype">
<property name="userSerivce" ref="userSerivce" />
</bean>
<bean id="userSerivce" class="org.service.impl.ServiceImpl">
</bean>
struts2
<struts>
<constant name="struts.devMode" value="true" />
<package name="usera" namespace="/" extends="struts-default">
<action name="login" class="userAction" method="login">
<result name="success" type="redirect">/login_success.jsp</result>
<result name="input" type="redirect">/index.jsp</result>
</action>
</package>
</struts>
LoginAction
import org.model.Entry;
import org.service.Service;
import com.opensymphony.xwork2.ActionSupport;
public class LoginAction extends ActionSupport {
/**
*
*/
private static final long serialVersionUID = 1L;
private Service userSerivce = null;
private Entry entry = null;
public String login() throws Exception{
userSerivce.login(entry);
return SUCCESS;
}
public Service getUserSerivce() {
return userSerivce;
}
public void setUserSerivce(Service userSerivce) {
this.userSerivce = userSerivce;
}
public Entry getEntry() {
return entry;
}
public void setEntry(Entry entry) {
this.entry = entry;
}
public static long getSerialversionuid() {
return serialVersionUID;
}
}
Entry
import java.io.Serializable;
public class Entry implements Serializable {
/**
*
*/
private static final long serialVersionUID = 1L;
private int id;
private String name;
private String pass;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getPass() {
return pass;
}
public void setPass(String pass) {
this.pass = pass;
}
}
Service
import org.model.Entry;
public interface Service {
public Entry login(Entry entry);
}
ServiceImpl
import org.model.Entry;
import org.service.Service;
public class ServiceImpl implements Service {
public Entry login(Entry entry) {
System.err.println("success");
System.err.println(entry.getName());
return null;
}
}
index.jsp
<s:form action="login">
<s:textfield name="entry.name" label="user"></s:textfield>
<s:password name="entry.pass" label="pass"></s:password>
<s:submit value="login"></s:submit>
</s:form>