JFinal 使用BigPiper后路由配置的一些问题

Solidsnake 发布于 2013/08/21 14:24
阅读 527
收藏 0

@JFinal 你好,想跟你请教个问题:

    我的项目使用的是JFinal1.1.4 + BigPiper 分离前后台的。

    由于我们Bigpiper里是根据URL去找具体HTML文件地址,并用IO输出到界面。 也就是说,如果我的URL是 Localhost:8080/app/index, 那么我一定会找到项目中/webapp/app/index.html这个页面。

    现在存在一个问题,我的路由是这样配置的:

me.add("/consult/system", SystemController.class);
me.add("/consult/ajax", AjaxController.class);
me.add("/card/system",SystemController.class);

    现在,我的card/system 下如果有其他文件需要访问另外一个Controller的函数,就没有办法配置(key已存在),但是由于属于不同领域,所以我不想把代码写到SystemController中,又不想换页面的文件地址。请问有什么好方法?

    像Struts这样单个action配置的就不会出现这种问题,所以我想问问有没有单个页面设置的。

    还有,可以绕过Filter的个别URL或URL群 如 /abc/aaa/* 如果URL为abc/aaa/后面随便写, 都可以不需要经过权限验证,这种类似的事情如何实现(我指的是Jfinal自带的实现)。    

    
    

加载中
0
JFinal
JFinal

1:card/system 下如果有其他文件需要访问另外一个Controller的函数,可以使用 forwarAction(...)来做

2:JFinal 权限提倡使用 Interceptor 来做,一般用法是多 ActionInvocation对象中得到 actionKey 以及 urlPara,再进行控制

0
S
Solidsnake

引用来自“JFinal”的答案

1:card/system 下如果有其他文件需要访问另外一个Controller的函数,可以使用 forwarAction(...)来做

2:JFinal 权限提倡使用 Interceptor 来做,一般用法是多 ActionInvocation对象中得到 actionKey 以及 urlPara,再进行控制

@JFinal : 也就是说我的配置没有办法直接指定一个URL 访问哪个Contorller的哪一个方法咯?

只能通过拦截器来做?


普通的配置是那个Controller 下全部的方法 如:

me.add("/consult/system", SystemController.class);
me.add("/consult/ajax", AjaxController.class);

me.add("/card/system",SystemController.class);

S
Solidsnake
回复 @JFinal : 目前是用这个方法的,但是毕竟没有配置文件来的直观。
JFinal
JFinal
可以在 Controller 中使用 @ActionKey(....) 来指定,细看一下 JFinal 手册
返回顶部
顶部