Oracle APEX动态菜单点击后先跳转登录页问题求助
Oracle APEX动态菜单跳转登录页问题解决
问题根源
你生成的菜单target URL不符合APEX的f?p语法规范,导致会话ID未正确传递,系统判定会话无效,因此触发登录跳转。
看你的SQL中target的拼接逻辑:
'f?p=&APP_ID.:'||menu_seq||':'||':&SESSION.:::::'
APEX的f?p标准格式为:
f?p=AppID:PageID:SessionID:Request:Debug:ClearCache:itemNames:itemValues:PrinterFriendly
你把&SESSION.放到了第四个参数位置,而第三个参数(会话ID位)是空值,这会让系统无法识别当前有效会话,直接导向登录页。
修复方案
修正target的拼接代码,将&SESSION.放在第三个参数位置,正确写法如下:
'f?p=&APP_ID.:'||menu_seq||':&SESSION.:::::'
这样生成的URL会正确携带当前会话ID,系统能识别已登录状态,点击菜单时直接跳转目标页面,不会再触发登录。
额外检查点
- 确认
SYSTEM_MENU表中的menu_seq字段存储的是对应页面的正确ID,避免因页面ID错误导致的异常跳转 - 检查应用的会话超时设置,排除因会话提前过期导致的登录跳转(但根据你的描述,此场景概率较低)
内容的提问来源于stack exchange,提问作者Ziad Adnan
相关产品推荐
相关产品推荐

