用struts2拦截器错误信息如何显示在页面上

下面这段代码里ctx.put("tip", "您还没有登录,请登陆系统");
我怎么能在页面显示?

public class AuthorityInterceptorForAdmin extends AbstractInterceptor {
private static final long serialVersionUID = 1358600090729208361L;

// 拦截Action处理的拦截方法
public String intercept(ActionInvocation invocation) throws Exception {
// 取得请求相关的ActionContext实例
ActionContext ctx = invocation.getInvocationContext();
Map session = ctx.getSession();
// 取出名为user的session属性
String user = (String) session.get("aid");
List<Admin> adminlist = new Base().getAdmin().getAdminAll();

Iterator it = adminlist.iterator();

while (it.hasNext()) {
Admin admin = (Admin) it.next();
String ad = admin.getName();
if (user != null && user.equals(ad)) {
return invocation.invoke();
}
}

// 没有登陆,将服务器提示设置成一个HttpServletRequest属性
ctx.put("tip", "您还没有登录,请登陆系统");
return Action.LOGIN;
}
}

首先,你的拦截器应该有一个返回页面,也就是说触发拦截时要返回到的页面。(比方说登陆画面)这个你可以自己在配置文件里定义,你应该用过struts2的校验功能吧,如果用过的话,应该就知道如何在页面显示提示信息了。(针对struts2的重写方法校验,不是XML校验框架)
简单来说就是:
action:
addFieldError方法

jsp:
<s:fielderror></s:fielderror>

当然,显示提示信息可以灵活运用,你完全可以把信息设置在自己定义的控件上。
温馨提示:内容为网友见解,仅供参考
无其他回答

struts2 如何将拦截器里产生的异常信息输入到统一的错误页面中?
异常信息 : 异常值栈: 在拦截器中,捕获常见的异常,并以友好异常信息抛出,如下:public class BusinessException extends RuntimeException{ private static final long serialVersionUID = 0xc1a865c45ffdc5f9L;public BusinessException(String frdMessage){ super(createFriendlyErrMsg(frdMessage));} pu...

用struts2拦截器错误信息如何显示在页面上
首先,你的拦截器应该有一个返回页面,也就是说触发拦截时要返回到的页面。(比方说登陆画面)这个你可以自己在配置文件里定义,你应该用过struts2的校验功能吧,如果用过的话,应该就知道如何在页面显示提示信息了。(针对struts2的重写方法校验,不是XML校验框架)简单来说就是:action:addFieldError方...

struts2捕获的异常以层或对话框的形式弹出
做个形象的比喻:假设有一个goIndex方法,如果该方法抛出异常时,错误信息会打印到页面。但如如果有了异常拦截器就不一样了,拦截器的作用就是在goIndex方法上加一个try...catch,如果出现异常就会被拦截器catch住,然后在catch块中进行log处理,随后return到指定异常页面即可:public String intercept(ActionIn...

struts2拦截器里,如果不执行目标方法,而是要返回到错误提示页面,怎么...
重写validate方法,在里面判断 然后你可以addActionError("")在struts.xml配置的时候,多一个 <result name="input">...<\/result> 这样,只要validate方法有 addxxxxError 那么它就会放弃执行Action的方法 而自动返回"input"你只需配置"input"跳转的页面就可以了,信息带回,那么就写在addActionError(...

struts2 拦截器fileUpload进行文件上传,如果超过了拦截器设置的大小怎 ...
"运行时好像还没运行到我写的upload.action就报错了。"可以在控制台输出语句看看到底运行到upload.action没有。至于你说的配置,在struts的配置文件里就可以,可以做一个全局结果配置,但是你的配置是可以的。

Struts2不进action就跳到Input配置的页面
回答:默认类型转换器内报错,你的页面内的数据与action接受的数据类型无法进行转换,导致类型转换失败,此时strutsconversionerrorinterceptor拦截器会拦截此错误信息,如果你实现了validATIonaware接口或者继承了actionsupport接口,有对应的input结果映射,拦截器内会跳转到该input页面。 刚刚看资料看到拦截器这一块,看你这个...

struts2拦截器,验证失败,返回action.login,要什么页面处理
需要在struts的配置文件中配置一个 <result name="login">\/login.jsp<\/result> 直接转到这个登录页面即可 你可以将其配置到 <global-results>中 毕竟是login事件 其实他就和我们在Action中写的那些返回值( return SUCCESS) 是一个效果 ...

在线等!关于struts2中拦截器权限控制的问题,没登录的时候一直不跳到登录...
必然的啊,因为你在进入登陆的Action前执行的拦截器,而这时还没有执行你的登陆方法,因此取得的username为空.登陆拦截是拦截登陆方法以外的Action,登陆的Action千万别拦截,否则永远没办法登陆了 另外,团IDC网上有许多产品团购,便宜有口碑

struts2登录拦截器页面跳转的问题,使用了frameset
要在整个窗口打开可以在interceptor验证session失效后进入一个JSP中间跳转的页面,再这个页面中自动进入登录的页面。示例JSP如下 <%@ page language="java" contentType="text\/html; charset=GBK" errorPage="\/default_error.jsp"%> < String path = request.getContextPath();String basePath = request...

谁能帮忙看看,struts2拦截器不进入intercept方法,
拦截器执行时if语句一直走的是else 拦截器的返回值是login,然后与<result name="login">\/loginError.html<\/result>相匹配,输出信息是在控制台查看的 window-》show view-》console开启控制台

相似回答
大家正在搜