开发者社区> 问答> 正文

jfinal 请求路径自动改变?报错

我在使用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(){
		
	}
	
}



展开
收起
爱吃鱼的程序员 2020-06-14 18:24:42 472 0
1 条回答
写回答
取消 提交回答
  • https://developer.aliyun.com/profile/5yerqm5bn5yqg?spm=a2c6h.12873639.0.0.6eae304abcjaIB

    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");嗯嗯,谢谢您的意见
    2020-06-14 18:25:00
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
WEB浏览器中即将发生的安全变化 立即下载
低代码开发师(初级)实战教程 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载