问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

struts2 package中继承了json-default,还可以跳页吗

发布网友 发布时间:2022-08-02 22:03

我来回答

2个回答

热心网友 时间:2024-12-01 00:29

项目的页面全部由jquery、ajax实现,现在需要做一个权限*用以处理session过期及控制访问权限问题,但由于struts2的配置全部继承于json-default,在*中直接返回result的name属性时无论是redirect还是默认的dispatcher均不能控制页面跳转到目的页面,
如下操作
<!-- ajax 提示 * -->
<package name="authorityCheck" extends="json-default">
<interceptors>
<interceptor name="authority" class="com.incoshare.filter.PermissionInterceptor" />
</interceptors>
</package>
<!-- jsp跳转 * -->
<package name="authoritySruts" extends="struts-default">
<interceptors>
<interceptor name="authority" class="com.incoshare.filter.PermissionInterceptorJsp" />
</interceptors>
<global-results>
<result name="inter">/error/e_error.jsp</result>
<result name="uPermission">/WEB-INF/view/error/uPermission.jsp</result>
</global-results>
</package>
哪里需要就继承上边包,如
<struts>
<package name="jsp" extends="authoritySruts">
action name="DepartmentList" class="com.incoshare.action.usermanager.DepartmentAction"
method="to">
<result>/WEB-INF/view/userManager/department/list.jsp</result>
<result name="error">/error/e_error.jsp</result>
<interceptor-ref name="defaultStack" />
<interceptor-ref name="authority">
<param name="funtionCode">u104</param>
</interceptor-ref>
</action>
。。。。

下边是*类:

public class PermissionInterceptorJsp extends AbstractInterceptor
{
private static final long serialVersionUID = 4573787592071643540L;

// 重写intercept方法
public String intercept(ActionInvocation _actionInvocation) throws Exception
{
ActionContext _actionContext = _actionInvocation.getInvocationContext();

HttpServletRequest _request = (HttpServletRequest) _actionContext
.get(StrutsStatics.HTTP_REQUEST);
/*
* HttpServletResponse _response = (HttpServletResponse) _actionContext
* .get(StrutsStatics.HTTP_RESPONSE);
*/

// 确认Session中是否存在UserSession
// Map<?, ?> _mapSession =
// _actionInvocation.getInvocationContext().getSession();
// UserSession _userSession = (UserSession)
// _mapSession.get("userSession");
UserSession _userSession = (UserSession) _request.getSession().getAttribute("userSession");
((ActionSupport) _actionInvocation.getAction()).clearMessages();
if (_userSession != null)
{
// 需要验证权限时
if (this.ifUserAccessUrl(_userSession))
{
// 有权限
//System.out.println("有权限--");
return _actionInvocation.invoke();
}
else
{
// 没有权限
//System.out.println("没有权限--");
((ActionSupport) _actionInvocation.getAction()).addActionMessage("您没有此权限");

return "uPermission";
}
}
else
{
// session 为NULL
//System.out.println("没有登陆--");
((ActionSupport) _actionInvocation.getAction()).addActionMessage("您还没有登录");

return "uPermission";

}

}

。。。。。。。。。。。。。。。。。。。
}
希望能帮助大家

热心网友 时间:2024-12-01 00:29

可以的,json-default它继承了struts-default
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
开封跑滴滴需要什么手续 郑州的滴滴打车可以在开封好吗 集团管控有哪几种模式 集团管控五种模式 集团管控模式集团管控模式选择的主要影响因素 win10桌面图标间距变大了怎么调整 win10桌面图标间距变大了调整方法 南宁什么路有民生银行 南宁民生银行保安第一个月工资多少?? 如果电池在综合测试时,电压原本是3.7伏标准,但是一测试那个电压立马 保护板的线结对但是用检测板测试为什么检测灯不亮反插反而亮为什么? 泰山日出酒46度陈泥窖泥多少钱 泰山日出46度珍品商务酒的价格 泰山日出珍品商务酒46度浓香型,多少钱? 佛山市人才引进政策2022 秋香菜什么时间种植最好,如何种植产量才高? 凰图腾是什么意思 华为手机在删除视频时终止空间无法恢复,如何解决 电脑登陆icloud可以看到哪些东西 刘诗诗用什么方法减肥的 刘诗诗也曾是胖m,看看她是怎么一步步减下体重的吧 怎么设置iphone本机号码头像 室内陈设的重要性有多大? 室内陈涉设计和室内设计有什么区别 “或有”是什么意思?“抑或”是“或者”的意思吗? “抑或”的近义词是什么? 安卓手机,把uc浏览器卸载掉会把之前用uc浏览器下载的视频删除掉吗 怎么卸载uc浏览器而不会删除里面下载的视频 问:卸载uc浏览器是不是里面视频都会跟着删除 余姚太平洋大酒店到底是几星级的啊 要说真实的 佩兰的功效与作用 佩兰的好处是什么 怎么序列化继承自HashMap&lt;String,Object&gt;的bean为Json 翰文工程进度怎样复到word icloud启动要多久 苹果手机icloud设置需要多长时间 uc浏览器缓存的视屏如何发到别人手机号,求步骤 小吃店营业执照可以贷款吗 小饭店有营业执照半年以上怎么贷款 cad这个指标怎么调大?请问? UC浏览器下载的视频怎么导到新手机上- 问一问 ...都夜里八九点了,没车回去了,我一个人路上走 梦见别人向我借钱什么意思 ...1141a75的浏览器是什么ie几的?在网页上看视频下载什么播放器最好... NIVEA男士护肤要买哪些? 纯粮食酒能调到38℃吗 现在有啥方法让黑苹果登陆icloud吗 黑苹果可以登陆苹果id吗 黑苹果能登录苹果账号吗 不用电脑怎么更改ppt数据 如何把UC浏览器下载到手机里 2012乌鲁木齐货车数量