定义控制器(Action) - lonesafe/roubsite GitHub Wiki

RoubSite控制器需要继承父类(com.roubsite.web.action.RSAction),继承该类后编译器会提示需要实现execute方法,直接自动完成代码实现该方法即可,如果访问地址中没有方法名则默认执行该方法操作。 Roubsite的控制器是一个类,而操作则是控制器类的一个公共(public)方法。 下面就是一个典型的控制器类的定义:

public class IndexAction extends RSAction {  
		 @Override  
		 public void execute() throws Exception {  
				   this.display("index.html");  
		 }  
} 

当该类位于index模块下的action文件夹时,访问http://localhost/roubSite/index 后会使用Smarty解析index.html并返回至前端。 控制器通常继承RSAction类或者其子类,例如:

import com.roubsite.web.action.RSAction;  
public class LoginAction extends RSAction {  
    @Override  
    public void doLogin () throws Exception {  
        //登录  
    }  
    @Override  
    public void doLogout () throws Exception {  
        //注销  
	}  
}  

控制器的命名方式是: 控制器名(驼峰法,首字母大写)+Action 。 访问时的URl命名格式是: 控制器名(首字母小写)/方法名(去掉do) 注意: URl不具体到哪个方法名时默认执行execute方法。 LoginAction控制器类的doLogin方法和doLogout方法就是操作方法,访问下面的URL地址: http://localhost/roubSite/login/login http://localhost/roubSite/login/logout 操作的方法必须为公开(Public)方法,否则会报错。 注意:定义控制器方法的时候,尽量避免和系统的保留方法相冲突(除非你非常明确自己在做什么),这些保留方法名包括但不限于:

display  
$_G  
$_P  
I  
g  
a  
getParamSet  
getSession  
print  
println  
assign  
error  
success  
⚠️ **GitHub.com Fallback** ⚠️