如何实现Action类:对于Struts2应用开发者而言,Action才是应用的核心,开发者需要提供大量Action类,并在S文件中配置Action。Action类里包含了对用户请求的处理逻辑,Action类也被称为业务控制器。

相对于Struts1而言,Struts2采用了低侵入式的设计,Struts2不要求Action类继承任何的Struts2基类,或者实现热河Struts2接口。在这种设计方式下,Struts2的Action是一个普通的POJO(通常应该包含一个无参数的execute方法),从而有很好的代码复用性。

Struts2通常直接使用Action来封装HTTP请求参数,因此,Action类里还应该包含与参数对于金属,并且,为这些属性提供对应的setter和getter方法。

例如,用户请求包含User和pass两个请求参数,那么Action类应该提供user和pass两个属性来封装用户的请求参数,并且为user和pass提供对应的setter和getter方法。下面是处理请求的Action类的代码片段。

//处理用户请求的Action类,只是一个POJO,无须继承任何基类,无须实现任何接口

public class LoginAction

{

//提供两个属性来封装HTTP请求参数

privata string user;

privata string pass;

//user 属性的 getter和setter方法

public void setUser(string user)

{

= user;

}

public string getUser()

{

return ();

}

//pass 属性的 getter 和setter 方法

public void setpass(string pass)

{

= pass;

}

public string getpass()

{

return ();

}

//Action类默认处理用户请求的方法:execute 方法

public String execute()

{

...

//返回处理结果字符串

return resultstr;

}

}

上面的Action类只是一个普通JAVA类,这个JAVA类提供了两个属性:user和pass(如程序中粗体字代码所示),并为这两个属性提供了setter和getter方法,这两个属性分别对应两个HTTP请求参数。上面LoginAction中的execute()方法就是处理用户请求的逻辑控制方法。

提示:即使Action处理的请求包含user和pass两个HTTP请求参数,Action类也可以不包含user和pass Field。因为系统是通过对应的setter和getter方法来处理请求的参数的,而不是通过Field名来处理请求参数的。也就是说,如果包含了user的HTTP请求参数,Action类里是否包含user Field不重要,重要的是需要包含void setUser(String user)和String getUser()两个方法。

1.《javaaction如何接收数组》援引自互联网,旨在传递更多网络信息知识,仅代表作者本人观点,与本网站无关,侵删请联系页脚下方联系方式。

2.《javaaction如何接收数组》仅供读者参考,本网站未对该内容进行证实,对其原创性、真实性、完整性、及时性不作任何保证。

3.文章转载时请保留本站内容来源地址,https://www.lu-xu.com/keji/3238152.html