能直接访问网页吗 比如没有需要传递的参数 我不想再在控制器中写action了,直接调用页面

能直接访问网页吗 比如没有需要传递的参数 我不想再在控制器中写action了,直接调用页面


比如我在index文件夹下有个add.我想直接访问,不想在控制器中在写个函数调用add.html


换句话说 :我每调用一个界面都需要些个action 我觉得挺烦 。

我试了下 只有在根目录下的html才能不写action直接调用。


写了个控制器 解决这个问题 

HtmlController Controller {

    () {
        String strUrl = getPara()System..println(strUrl)renderTemplate(strUrl + )}
}


评论区

JFinal

2017-06-28 11:30

很早以前碰到过几个小伙伴也这么来玩的,后来慢慢也改成严格的 MVC 走 action了,因为纯静态页面很少很少,多数是要在页面中使用动态数据的,如果直接走页面,势必要在页面中通过某种方式再去访问数据,这种结构不如 MVC 清晰好维护

当然,在 jfinal 下是很容易支持这种模式的,你甚至可以只有页面和一些工具类,大致这么来玩:
1:创建一个 Handler 用于接管所有请求,将请求直接生成String templateFile 这个对象指向模板文件,大致如下:
public void handle(target, req, res, isHandled) {
String templateFileName = buildTemplateFileName(target);
Engine.use().getTemplate(templateFileName).render(...);
isHandled[0] = true;
}

2:创建一些用于操作数据库的工具类,或者直接用 jfinal 的数据库工具类配置给 Engine
Engine.use().addSharedObject("Db", Db.use());

3:在页面可以这样用了:
#for ( x : Db.find("select * from account where ..." ...))
#(x.userName)
#end

通过上面的方式,你可以完全避免掉 Controller、Interceptor、Render 等所有的东东,一般我不告诉小伙伴们这么来玩

热门反馈

扫码入社