jfinal怎么实现同一访问路径,请求方式不同,访问的方法不同

VitoHuang 发布于 2015/05/19 15:21
阅读 542
收藏 1

jfinal怎么实现同一访问路径,请求方式不同,访问的方法不同?

例如:

    访问/os

    用post方式请求 访问A方法

    用get方式请求 访问B方法

加载中
0
cnDavidChen
cnDavidChen
@ActionKey("/os")
	public void os() {
		if ("POST".equalsIgnoreCase(getRequest().getMethod().toUpperCase())) {
			forwardAction("/postOs");
			
			return;
		}
		
		if ("GET".equalsIgnoreCase(getRequest().getMethod())) {
			forwardAction("getOs");
			
			return;
		}
	}
	
	@ActionKey("/postOs")
	@Before(POST.class)
	public void postOs() {
		
	}
	
	@ActionKey("/getOs")
	@Before(GET.class)
	public void getOs() {
		
	}

不过,考虑到请求参数的传递,可能forward会接收不到url上的参数。

也可以把forwadAction改为直接调用a()方法,不需要再路由一遍。



0
JFinal
JFinal
创建一个全局拦截器在后制定符合自己的跳转规则即可,可以参考一下 com.jfinal.ext.interceptor.Restful.java 源码
返回顶部
顶部