dw中css二级菜单无法选中,club子菜单无法保持选中状态

536ededbdce32459ee887563b4bf4893.png

点了添加按钮,跳转到表单页面,左边的子菜单选中状态消失了。

menu页面中的html如下:

402f8bb7a6cb2797206152fb12d6a555.png

添加按钮的html如下:

添加文章

控制器代码如下:public class ArticleAdminController extends BaseController {

@Inject

ArticleAdminService srv;

@Inject

ArticleSubmenuAdminService submenuSrv;

public void index(){

keepPara("menu");

String menuCode = getPara("menu","toutiao");

int pageIndex = getParaToInt("p", 1);

Page artPage = srv.paginate(menuCode,pageIndex);

setAttr("artPage", artPage);

render("index.html");

}

/**

* 创建

*/

public void add() {

keepPara("menucode");

String menuCode = getPara("menucode");

setAttr("submenus", submenuSrv.findByMenuCode(menuCode));

render("add_edit.html");

}

/**

* 提交创建

*/

public void save() {

keepPara("menucode");

Article art = getBean(Article.class,"article");

Ret ret = srv.save(art);

renderJson(ret);

}

/**

* 修改

*/

public void edit() {

keepPara("menucode");

keepPara("p");// 保持住分页的页号,便于在 ajax 提交后跳转到当前数据所在的页

setAttr("article", srv.edit(getParaToInt("id")));

setAttr("submenus", submenuSrv.findByMenuCode(getPara("menucode")));

render("add_edit.html");

}

/**

* 提交修改

*/

public void update() {

keepPara("menucode");

Article art = getBean(Article.class,"article");

Ret ret = srv.update(art);

renderJson(ret);

}

/**

* 锁定

*/

public void lock() {

Ret ret = srv.lock(getParaToInt("id"));

renderJson(ret);

}

/**

* 解除锁定

*/

public void unlock() {

Ret ret = srv.unlock(getParaToInt("id"));

renderJson(ret);

}

/**

* 删除

*/

public void delete() {

Ret ret = srv.delete(getParaToInt("id"));

renderJson(ret);

}

}

-----------------------------------------------------------

经过单步调试,找到问题原因:

2e2ab5b68091247813126349b89bf54e.png

点击【添加按钮】并加载表单后,jfinal-admin.js在进行反向匹配菜单时,是根据按钮action的pathName进行的,如果pathName和菜单href匹配不上,则无法选中。