控制器里的具体路径用于渲染对应的请求。
简单的控制器代码:
@Path("/") public class TestController {
@Get("hello")
public String test(){
return "@a";
}
}http://localhost/hello
将会返回:a。就是这么简单。
一个贴吧功能的Controller如下:
@Path("myforum")
public class ForumController {
@Get("topic")
public String getTopics() {
//显示主帖列表
return "topiclist";
}
@Get("topic/{topicId:[0-9]+}")
public String showTopic(@Param("topicId") int topicId) {
//显示单个主帖和它的跟贴
return "topic";
}
@Get("topic/{topicId:[0-9]+}/comment/{commentId:[0-9]+}")
public String showComment(@Param("topicId") int topicId, @Param("commentId") int commentId) {
//显示单个跟贴
return "comment";
}
@Post("topic")
public String createTopic(){
//创建一个主帖
return "topic";
}
@Post("topic/{topicId:[0-9]+}/comment")
public String createComment(@Param("topicId") int topicId){
//创建一个跟贴
return "comment";
}
}Controller方法的返回值:
rose中,controller方法的返回值有下面几种规则:1.返回普通字符串,如上所述,最常用的做法,渲染视图文件并返回。
2.以“@”开头的字符串,比如“return "@HelloWorld";”,会将“@”后面的字符串“HelloWorld”作为结果返回。
3.以“@json:”开头的字符串。