webx多事件Module定义

时间:2023-02-07 12:19:07

(1)普通Module定义

               1.定义Class

public class Welcome {
public void execute(@Param("name") String name, Context context) {
context.put("name", name);
}
}

                 在其中的execute方法中定义逻辑

               2.访问方式
                  直接使用模块名称即可           

                  如:webx多事件Module定义

                 如果要访问SayHi,那么url就是http://localhost:8081/simple/say_hi.do


(2)多事件Module定义

               1.定义Class

public class SayHello1 {
@Autowired
private HttpServletResponse response;

/** 此方法会在所有的event handler之前执行。 */
public void beforeExecution() {
response.setContentType("text/plain");
}

/** 此方法会在所有的event handler之后执行。 */
public void afterExecution() throws IOException {
response.flushBuffer(); // 此调用并非必须,只是用来演示afterExecution方法而已
}

/** 默认语言:英文 */
public void doPerform() throws IOException {
doEnglish();
}

/** 英文 */
public void doEnglish() throws IOException {
response.getWriter().println("English: Hello");
}

/** 中文 */
public void doChinese() throws IOException {
response.getWriter().println("Chinese: 你好");
}

/** 法语 */
public void doFrench() throws IOException {
response.getWriter().println("French: Bonjour");
}
}
                  注意:

                          <1>如果要在方法执行前执行某操作,就写在beforeExecution中,且方法名必须是这个
                          <2>如果要在方法执行后执行某操作,就写在afterExecution中,且方法名必须是这个

                          <3>如果url没有带事件名称,那么默认执行doPerform方法

                          <5>一般方法必须要以do开头

               2.访问方式


                   <1>带事件名称的url

                        分别会访问doChinese和doFrench方法

                   <2>不带事件名称的url

                        访问默认方法,即doPerform方法