我在使用jfinal做web开发的时候,出现了如下问题,需要各位大神帮忙解决下:
1、登录进入项目首页后,“添加用户”按钮连接如图:
2、点击后,进入添加页面,再点击“添加用户”按钮的时候,地址中自动增加了"/user",如图:
而且,该页面其他的连接也会增加一个“/user”,导致我在新页面的所有连接都报错404.
我的config配置如下:
public class CommentConfig extends JFinalConfig { /** * 通用配置 */ @Override public void configConstant(Constants constants) { Properties properties = loadPropertyFile("classes/data_config.txt"); constants.setDevMode(true);//设置开发模式 properties.setProperty("rootPath",PathKit.getWebRootPath()); } /** * 路由 */ @Override public void configRoute(Routes routes) { routes.add("/", DefaultController.class);//根目录请求路由 routes.add("user",UserController.class,"/");//用户相关请求路由 } /** * 插件配置 */ @Override public void configPlugin(Plugins plugins) { //数据库连接池配置 C3p0Plugin c3p0Plugin = new C3p0Plugin(getProperty("jdbcUrl"), getProperty("user"), getProperty("password").trim()); plugins.add(c3p0Plugin); //添加插件 ActiveRecordPlugin arp = new ActiveRecordPlugin(c3p0Plugin); plugins.add(arp); arp.addMapping("play_user", User.class); // 将数据库与实体关联 } @Override public void configHandler(Handlers arg0) { // TODO Auto-generated method stub } @Override public void configInterceptor(Interceptors interceptors) { } }UserController 如下:
public class UserController extends Controller { /** * 去添加一个用户的页面 */ public void toAddUser(){ render("page/user/addUserUI.html"); } /** * 添加用户 */ @Before(UserValidator.class) //进入前进行校验 public void addUser(){ } }
config中
routes.add("user",UserController.class,"/");
改成:
routes.add("/user",UserController.class,"page/user");
页面中,“添加用户”指向"/user/toAddUser"。
嗯嗯,谢谢。的确是这个问题。页面中少加了/导致的。 @JFinal君,通过userController返回的页面,如果再请求的话,都会再加上user这个路径的
和你这个配置对应routes.add("user",UserController.class,"/");//用户相关请求路由
担心出现这种问题,可以全部使用绝对路径来处理/user/toAddUser.htm
不要用toAddUser.htm这样
嗯嗯,谢谢您的回答,是我页面上请求路径少了/。你的路由设置很古怪啊,我建议这样设置比较规范点: routes.add("user",UserController.class,"/page/user");控制器UserController里边publicvoidtoAddUser(){ render("addUserUI.html");嗯嗯,谢谢您的意见版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。