jfinal 请求路径自动改变

PeterHu 发布于 2015/01/15 10:09
阅读 698
收藏 1

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



加载中
0
糊搞

config中

routes.add("user",UserController.class,"/");

改成:

routes.add("/user",UserController.class,"page/user");


页面中,“添加用户”指向"/user/toAddUser"。

PeterHu
PeterHu
嗯嗯,谢谢。的确是这个问题。页面中少加了/导致的。
0
胡小强
胡小强

通过userController返回的页面,如果再请求的话,都会再加上user这个路径的

和你这个配置对应routes.add("user",UserController.class,"/");//用户相关请求路由

担心出现这种问题,可以全部使用绝对路径来处理 /user/toAddUser.htm

不要用toAddUser.htm这样

PeterHu
PeterHu
嗯嗯,谢谢您的回答,是我页面上请求路径少了/。
0
Sai
Sai
你的路由设置很古怪啊,我建议这样设置比较规范点:  routes.add("user",UserController.class,"/page/user");控制器UserController 里边publicvoidtoAddUser(){
        render("addUserUI.html");
    },这样不易出错


PeterHu
PeterHu
嗯嗯,谢谢您的意见
返回顶部
顶部