【发布时间】:2017-11-03 15:27:25
【问题描述】:
当声明如下时,是否有可能获得与 Rails 控制器中相同的行为:
class ClientsController < ApplicationController
respond_to :json, :html
def index
@clients = Client.all
respond_with(@clients)
end
end
谢谢
【问题讨论】:
标签: javalite
当声明如下时,是否有可能获得与 Rails 控制器中相同的行为:
class ClientsController < ApplicationController
respond_to :json, :html
def index
@clients = Client.all
respond_with(@clients)
end
end
谢谢
【问题讨论】:
标签: javalite
这是可能的,但编程模式略有不同。
例如,如果你的 URL 以 .json 结尾,你可以在控制器中这样做:
public void index(){
if("json".equals(format())){
render().noLayout().contentType("application/json");
}
view("books", Books.where(...));
}
这样,如果请求 URL 是:http://localhost/books,您将获得一个带有菜单和页脚的布局的 HTML 页面,但如果它是 http://localhost/books.json,那么您将没有布局。
有关更多信息,请参阅此处的文档:http://javalite.io/view-routing
【讨论】:
public void index(){ view("lists", List.findAll().orderBy("id")); render().contentType("application/json"); },但没有奏效。
respond(),而不是render()