NutzCN Logo
问答 nutzwk mvc:在filter中设置req并设值,在methodInvoke的执行过程中取不到所设的值
发布于 2653天前 作者 maxiaolong1996 1424 次浏览 复制 上一个帖子 下一个帖子
标签: nutzwk

filter:

public class TokenFilter implements ActionFilter {
    private static final Log log = Logs.get();
    private ApiService apiService= Mvcs.ctx().getDefaultIoc().get(ApiService.class);

    public View match(ActionContext context) {
        String appId = Strings.sNull(context.getRequest().getParameter("appId"));
        String token = Strings.sNull(context.getRequest().getParameter("token"));
        if(token.isEmpty()||appId.isEmpty()){
            return new UTF8JsonView(JsonFormat.compact()).setData(Result.error(-1,"no appId or token found"));
        }
        NutMap nutMap=(NutMap) apiService.verifyToken(appId,token);
        if (nutMap==null||nutMap.get("ok")==null||!(boolean) nutMap.get("ok")){
            return new UTF8JsonView(JsonFormat.compact()).setData(Result.error(-2,"token invalid"));
        }else{
            if(nutMap.get("userId")==null){
                return new UTF8JsonView(JsonFormat.compact()).setData(Result.error(-3,"unknown error"));
            }else{
                //此处
                context.getRequest().setAttribute("userId",nutMap.get("userId"));
            }
        }
        return null;
    }
}

method:

    @At
    @Ok("json")
    @POST
    public Object collectObject(@Param("channelId") String id, @Param("userId") String userId,HttpServletRequest req) {
        try {
            Rcd_article_collect rcd_article_collect = new Rcd_article_collect();
            rcd_article_collect.setArticleId(id);
            rcd_article_collect.setUserId(userId);
            rcd_article_collect.setTrue(true);
            rcdArticleCollectService.insert(rcd_article_collect);
            return Result.success("收藏成功");
        } catch (Exception e) {
            return Result.success("收藏失败");
        }
    }

使用req.getParameter("userId"); 也是空

2 回复

为什么没有删帖 这个功能...

找到原因了?

添加回复
请先登陆
回到顶部