一个星期了 能帮忙就帮忙一下吧

10-12-18 tianhandigeng

自己定义了一个Struts2 拦截器,在显示页面之前,给ValueStack中设置一些值,使得jsp页面中可以显示,但是奇怪的事却发生了,我用SiteMesh定义了一个装饰页面A.jsp,action对应的jsp页面为B.jsp,(用过SiteMesh的朋友应该会知道怎么装饰的),问题就出来了,设置完之后,在两个页面同样的访问代码,在A.jsp页面中就能显示,在B.jsp页面中就不能显示,极度地郁闷,不知道问题出在哪?这是我的拦截器代码:

Java代码

@Override

public String intercept(ActionInvocation invocation) throws Exception {

HttpServletRequest request=(HttpServletRequest)ActionContext.getContext().get(StrutsStatics.HTTP_REQUEST);

OgnlValueStack stack=(OgnlValueStack)request.getAttribute("struts.valueStack");

String result=invocation.invoke();

/**

* Set the properties

*/

List<Category> cityList=systemService.getCategorySortList("city");

stack.set("city",cityList);

EhcacheVindicatorProxy proxy=new EhcacheVindicatorProxy("menu");

List<FrontMenu> frontMenuList=(List)proxy.get(FrontMenu.class, "frontmenus", "menus.xml");

stack.set("frontMenuList",frontMenuList);

return result;

}

我对于这种两处写的是相同的,但是一个能执行,一个不能执行的情况,是头疼的要命的,哪位大哥可以帮忙解决这个问题?

nojava
2010-12-18 12:28
坛子里能添加表情功能就好了。

猜你喜欢