jfinal 拦截器

在jfinal-weixin 进行jssdk的签名,需要使用拦截器,但是在拦截器中怎么获取请求的url呢??

代码:

(Invocation inv) {
    inv.invoke()Controller controller = inv.getController()ApiConfigKit.(getApiConfig())JsTicket jsApiTicket = JsTicketApi.(JsTicketApi.JsApiType.)String jsapi_ticket = jsApiTicket.getTicket()String url = + controller.getRequest().getServerName() + //+ getRequest().getServerPort() + controller.getRequest().getContextPath() + controller.getRequest().getServletPath()String qs = controller.getRequest().getQueryString()(qs != ) {
        url = url + + (controller.getRequest().getQueryString())}

这是在Idea环境下编写的

controller.getRequest().getServerName()
controller.getRequest().getContextPath()

......会提示没有这样的方法??

想问问怎么解决呢??

评论区

mxkstar

2017-10-29 20:15

还有就是在拦截器中设置的controller.setAttr(),也没有效果
controller.setAttr("appId", ApiConfigKit.getApiConfig().getAppId());
controller.setAttr("nonceStr", nonce_str);
controller.setAttr("timestamp", timestamp);
controller.setAttr("url", url);
controller.setAttr("signature", signature);
controller.setAttr("jsapi_ticket", jsapi_ticket);
System.out.println(controller.getAttr("appid"));
会输出 null
我见有一个网上的项目里面是这么用的啊,不知道我的为什么不可以,希望有人能帮忙解答一下

mxkstar

2017-10-30 10:37

@mxkstar 解决了,原来是缺少javax.servlet.http.HttpServletRequest的类文件,我是用的maven直接天骄要导入的包即可

javax.servlet
servlet-api
2.5
provided

热门反馈

扫码入社