【SSH】——Struts2中的动态方法调用(一)
2015-09-19 17:18
531 查看
首先我们来看一个简单的调用:
1、在web.xml中配置拦截器StrutsPrepareAndExecuteFilter。StrutsPrepareAndExecuteFilter实现了filter接口,在执行action之前,利用filter做一些操作。
2、提供Struts2的配置文件struts.xml
注:<result>标签的默认值是success,此处省略。
3、页面显示部分。
index.jsp页面,转向到action中,调用action中的方法。
调用完后,跳转到成功页面,并显示message中的消息。
4、编写Action类 UserAction。
注意:这里我们让UserAction继承自ActionSupport类,从源码中可以看到ActionSupport类实现了Action接口。在ActionSupport类中也处理了execute()方法,但他并没有做什么操作,只是返回SUCCESS。因而,如果我们在UserAction中不写execute方法,也不会报错。
如果在UserAction中不写execute方法,message中没有值。
这篇博客介绍了Struts2的简单的方法调用,下篇博客将继续介绍,当action中有多个方法时,应该如何实现调用。
1、在web.xml中配置拦截器StrutsPrepareAndExecuteFilter。StrutsPrepareAndExecuteFilter实现了filter接口,在执行action之前,利用filter做一些操作。
<?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" version="2.5"> <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> </web-app>
2、提供Struts2的配置文件struts.xml
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN" "http://struts.apache.org/dtds/struts-2.0.dtd"> <struts> <package name="Struts2_006" extends="struts-default" > <action name="user" class="com.struts2.UserAction"> <result>/add_success.jsp</result> </action> </package> </struts>
注:<result>标签的默认值是success,此处省略。
3、页面显示部分。
index.jsp页面,转向到action中,调用action中的方法。
<body> <a href="user.action">调用</a> </body>
调用完后,跳转到成功页面,并显示message中的消息。
<body> 我的操作:${message} <br> </body>
4、编写Action类 UserAction。
public class UserAction extends ActionSupport{ //消息字符串,用来显示调用结果 private String message; public String getMessage() { return message; } public void setMessage(String message) { this.message = message; } /*** * execute方法 */ public String execute() throws Exception{ message="执行execute方法"; return SUCCESS; } }
注意:这里我们让UserAction继承自ActionSupport类,从源码中可以看到ActionSupport类实现了Action接口。在ActionSupport类中也处理了execute()方法,但他并没有做什么操作,只是返回SUCCESS。因而,如果我们在UserAction中不写execute方法,也不会报错。
public class ActionSupport implements Action, Validateable, ValidationAware, TextProvider, LocaleProvider, Serializable { protected static Logger LOG = LoggerFactory.getLogger(ActionSupport.class); private final ValidationAwareSupport validationAware = new ValidationAwareSupport(); private transient TextProvider textProvider; private Container container; /** * A default implementation that does nothing an returns "success". * <p/> * Subclasses should override this method to provide their business logic. * <p/> * See also {@link com.opensymphony.xwork2.Action#execute()}. * * @return returns {@link #SUCCESS} * @throws Exception can be thrown by subclasses. */ public String execute() throws Exception { return SUCCESS; } }
如果在UserAction中不写execute方法,message中没有值。
这篇博客介绍了Struts2的简单的方法调用,下篇博客将继续介绍,当action中有多个方法时,应该如何实现调用。
相关文章推荐
- eclipse的快捷键
- IntelliJ IDEA 14.0 javaweb项目发布及启动
- Struts2:单个文件上传的两种实现方式
- myeclipse new 后面的菜单设置
- java设计模式
- Struts2:(Java版) 分页实现代码
- Java 日期类型和 MySQL 日期类型 转化方式
- Java基础知识强化34:String类之String类的转换功能
- Struts2:类型转换详解
- Ubuntu配置jdk和Android sdk环境变量
- Java编程思想第四版读书笔记——第三章 操作符
- Java内存回收机制(转)
- 学习JAVA--线程1
- Spring自动装配
- Java内部类和匿名类
- Struts2:配置Action——包和命名空间
- Myeclipse中WEB-INF和META-INF文件夹的各文件含义
- java 时间戳与date转换
- Struts2:详解配置文件struts.xml
- java中文件的创建