strust中Action类和ActionForm类的基本用法
这里用一个最简单的登录页面演示,一个LoginForm,一个LoginAction。
LoginForm如下:
--------------------------------------------------------------------
package cn.itcast;
import org.apache.struts.action.ActionForm;
public class LoginForm extends ActionForm {
/**
*
*/
private static final long serialVersionUID = 8854535717875180957L;
private String username = null;
private String password = null;
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
}
-----------------------------------------------------------------------------
LoginAction如下:
-----------------------------------------------------------------------------
package cn.itcast;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
public class LoginAction extends Action {
@Override
public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws Exception {
LoginForm loginForm = (LoginForm)form;
if(loginForm.getUsername().equals("itcast")){
return mapping.findForward("LoginSuccess");
}else {
return mapping.findForward("LoginFailure");
}
}
}
------------------------------------------------------------------------------------
我们需要将LoginForm和LoginAction在strust-config.xml中管理起来,在这个文件中添加如下代码:
<form-beans>
<form-bean name="loginForm" type="cn.itcast.LoginForm"></form-bean>
</form-beans>
<action-mappings>
<action path="/login" name="loginForm" type="cn.itcast.LoginAction">
<forward name="LoginSuccess" path="/LoginSuccess.jsp"></forward>
<forward name="LoginFailure" path="/LoginFailure.jsp"></forward>
</action>
</action-mappings>
其中,LoginAction类是负责登录操作用的,LoginForm是自动获取表单内容的。