NutzCN Logo
问答 页面跳转时404 该如何设置
发布于 3307天前 作者 leecardo 4464 次浏览 复制 上一个帖子 下一个帖子
标签: mvc

微信用户点击回复信息中的链接 处理后决定跳转页面 总是404
sb.append("如需操作,请先绑定信息.\n");
sb.append("\ue420 立即绑定");

到微信module
@At("/tobind/?")
@Ok("->:${obj}")
public String toBind(@Param("openid") String openid) {
String path="";
if (bindInfoService.isBinded(openid)) {
log.info("未绑定.跳转至绑定页面...");
path= "mobile/bind.jsp?openid"+openid;
} else {
log.info("已经绑定过.无需再绑定...");
path= "mobile/info.jsp?openid"+openid;
}
return path;
}
我在nutzbook和官方文档里也没找到具体的配制方法 现在有点不知道怎么办

22 回复

回复信息里是这样带的地址
sb.append("如需操作,请先绑定信息.\n");
sb.append("\ue420 立即绑定");

Constant.HOST+ "/wxcore/tobind/" + openid 这个超链接怎么发不出来???

需要跳转的路径在onbind/mobile/xxxx? 因为看你的代码中返回的路径是相对路径,而非J开头的绝对路径

来自炫酷的 NutzCN

非/开头的绝对路径

发代码用代码块,菜单里面有,在代码块之外的html会被过滤

来自炫酷的 NutzCN

@wendal
404是发生在

sb.append("如需操作,请先绑定信息.\n");
sb.append("\ue420 <a href = '" +Constant.HOST+ "/wxcore/tobind/" + openid + "'>立即绑定</a>");

向WxCoreModule这个模块跳转的过程中
他找不到

@At("/tobind/?")
@Ok("->:${obj}")
public String toBind(@Param("openid") String  openid) {
 String path="";
   if (bindInfoService.isBinded(openid)) {
   log.info("未绑定.跳转至绑定页面...");
   path= "mobile/bind.jsp?openid"+openid;
   } else {
   log.info("已经绑定过.无需再绑定...");
   path= "mobile/info.jsp?openid"+openid;
   }
 return path;
  }

这个模块 然后报的404 这个入口函数实际上还没有执行呢

要跳转过去的入口方法的完整映射路径是什么?

来自炫酷的 NutzCN

@wendal
localhost:8080/wechat/wxcore/tobind/?

另外,web.xml里面是否配置了规则,让nutz的Filter能接收到Forward请求

来自炫酷的 NutzCN

/wxcore/tobind/?         --> 这是你当前的入口方法啊, 你不是要跳转到  mobile/info.jsp?openid吗?

这个jsp的完整路径是什么

@wendal
因为先要跳到这个入口方法处理 然后分别跳到不同的jsp页面去 难道我的思路有问题
两个页面的路径是 /WEB-INF/mobile/info.jsp 和 /WEB-INF/mobile/bind.jsp

用错视图了, 改成jsp

@Ok("jsp:${obj}")

@wendal
不是啊大大 现在问题是从

Constant.HOST+ "/wxcore/tobind/" + openid  到入口函数的地方404 工程找不到/wxcore/tobind 这个入口函数 

找不到? 直接访问这个URL也找不到??

必须看日志如果有经过NutFilter,起码会打印一句日志Not Found

@wendal
直接在地址栏访问也是404 而且后台日志什么也没有打印出来 就没有反应 然后我就很不明白

我觉得你现在把2个混着一起解决呢(入口方法映射和跳转到JSP),正确的方法应该是这样:

  1. 写个入口方法,单纯返回个字符串 @Ok("raw")
    A. 访问URL, 没有日志--> 服务器路径错误, 100%拼错URL
    B. 访问URL,有日志Not Found --> 检查启动日志,看看有没扫描到
    C. 访问URL, 有日志, 但没有需要的字符串 --> 检查@Ok有没有写对

直至可以出现正确的字符串,然后改成重定向视图/Jsp视图,继续试

@leecardo 这是你写的第一个入口方法吗?

@wendal
嗯 我试着一步步改写下

@leecardo 如果是刚接触, 看nutzbook,比这样折腾省事

@wendal
我试了发现在入口函数后面加上.do 才能匹配到 否则就是404 这个配置在哪 如何不加.do也能访问到入口函数的

web.xml 里面配置的是 *.do吧? 改成/*

@wendal
哦 好的

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