在Struts2中,Action可以不实现任何特殊的接口或者继承特殊的类,仅仅是一个POJO(Plain Old Java Object,简单的Java对象)就可以;也可以实现Xwork2中的Action接口;但是由于Xwork的Action接口非常简单,为程序员提供的帮助有限,因此,在实际开发中,会更多的使用继承ActionSupport类来实现Action的方式。
列子如下
1.首先搭建好可以运行的strues2框架
2.在strues2框架搭建好的前提下创建一个servlet,如图所示:
复制代码:
package cn.javass.hello.struts2impl.action;
import com.opensymphony.xwork2.ActionSupport;
public class HelloWorldAction extends ActionSupport {
private String account;
private String password;
private String submitFlag;
public String execute() throws Exception {
this.businessExecute();
return “toWelcome”;
}
public void validate(){
if(account==null || account.trim().length()0){
this.addFieldError(“account”, “账号不可以为空”);
}
if(passwordnull || password.trim().length()0){
this.addFieldError(“password”, “密码不可以为空”);
}
if(password!=null && !"".equals(password.trim()) && password.trim().length()<6){
this.addFieldError(“password”, “密码长度至少为6位”);
}
}
/**
* 示例方法,表示可以执行业务逻辑处理的方法,
*/
public void businessExecute(){
System.out.println("用户输入的参数为="+“account=”+account+",password="+password+",submitFlag="+submitFlag);
}
public String getAccount() {
return account;
}
public void setAccount(String account) {
this.account = account;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public String getSubmitFlag() {
return submitFlag;
}
public void setSubmitFlag(String submitFlag) {
this.submitFlag = submitFlag;
}
}
3.然后配置struts.xml文件,代码如下:
/s2impl/welcome.jsp
/s2impl/login.jsp
仅供参考,实际情况按所需改动
4.新建视图层 jsp页面,如图所示:
复制代码:
<%@ page language=“java” contentType=“text/html; charset=utf-8”
pageEncoding=“utf-8”%>
<%@ taglib prefix=“s” uri="/struts-tags"%>
账号:
密码: