当前位置:首页 > 马士兵struts2学习笔记(详细版)
class>
把过滤器的版本改成老版本的即可解决该问题!
13、19_尚学堂马士兵_Struts2_简单数据验证_1.avi
使用addFieldError方法和s:fieldError标签简单处理数据校验 public String add() {
if(name == null || !name.equals(\
this.addFieldError(\ this.addFieldError(\ return ERROR; }
return SUCCESS; }
在页面中显示错误信息:
14、21_尚学堂马士兵_Struts2_访问Web元素_1.avi 注意:web.xml中关于struts的配置一定要采用2.1的,2.0的会取不到这是一个bug
(1)通过ActionContext对象取得Map类型的request, session, application HttpServletRequest, HttpSerletSession ServletContetext: public class LoginAction1 extends ActionSupport {
private Map request; private Map session; private Map application;
//访问此方法,取得相应的对象但是是Map类型 public LoginAction1() {
request = (Map)ActionContext.getContext().get(\ session = ActionContext.getContext().getSession();
application = ActionContext.getContext().getApplication(); }
//在Map类型的对象中存入相应的值 public String execute() { request.put(\ session.put(\
application.put(\ return SUCCESS; } }
//在页面中通过标签取得存入的数据 二种方法(通过标签, 通过原始方式):
我们存入Map中的数据居然可以在request,等对象中得到,那么在struts内部他是将Map中的数据全部复制到了request,session等对象中的 #attr ,可以取得所有的属性,但是不推荐使用,为了防止同名的情况,造成无法区别。 (2)通过实现RequestAware,SessionAware, ApplicationAware 接口获取(最常用 和重要的一种)
private Map
//DI dependency injection //IoC inverse of control public String execute() { request.put(\ session.put(\ application.put(\ return SUCCESS; }
@Override
public void setRequest(Map
@Override
public void setSession(Map
}
@Override
public void setApplication(Map
(3)通过ServletActionContext()取得真实的相应的对象 private HttpServletRequest request; private HttpSession session;
private ServletContext application;
public LoginAction3() {
request = ServletActionContext.getRequest(); session = request.getSession();
application = session.getServletContext(); }
public String execute() {
request.setAttribute(\ session.setAttribute(\ application.setAttribute(\ return SUCCESS; }
(4)通过实现ServletRequestAware接口获得相应的对象 private HttpServletRequest request; private HttpSession session;
private ServletContext application;
public String execute() {
request.setAttribute(\ session.setAttribute(\ application.setAttribute(\ return SUCCESS; }
@Override
public void setServletRequest(HttpServletRequest request) { this.request = request;
this.session = request.getSession();
this.application = session.getServletContext(); }
15、23_尚学堂马士兵_Struts2_模块包含
可以将别的写好的配置文件直接包含到struts得配置文件中,方便多人开发避免不必要的配置文件冲突. login.xml
\ \
16、24_尚学堂马士兵_Struts2_默认Action
17、27_尚学堂马士兵_Struts2_结果类型_result_type_1
ResultType的最常用的几种配置:(四种配置分别代表了四种不同的跳转方式)
共分享92篇相关文档