在将我们的应用程序从 struts 2.3 升级到 2.5 时,我们收到以下错误。
包 org.apache.tiles.request 不存在
这是我们为执行方法修改的代码。
package com.myeg.ins.web.control.helper;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;
import org.apache.struts2.ServletActionContext;
import org.apache.tiles.Attribute;
import org.apache.tiles.AttributeContext;
import org.apache.tiles.TilesContainer;
import org.apache.tiles.access.TilesAccess;
import org.apache.tiles.context.TilesRequestContextHolder;
import org.apache.tiles.preparer.PreparerException;
import org.apache.tiles.preparer.ViewPreparer;
import org.apache.tiles.request.Request;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
public class MenuPreparer implements ViewPreparer
{
HttpServletRequest request = ServletActionContext.getRequest();
HttpSession session = request.getSession();
protected Logger logger = LoggerFactory.getLogger(this.getClass());
TilesContainer tileContainer = TilesAccess.getCurrentContainer((Request) request);
/*-----previous code while using tiles 2.0
public void execute(TilesRequestContext tilesContext, AttributeContext attributeContext) throws PreparerException
{
String ins=(String)session.getAttribute("insComp");
logger.info("In Preparer Ins company is::::::"+ins);
attributeContext.putAttribute("breadcrumbshead", new Attribute(ins));
}*/
@Override
public void execute(Request tileContainer, AttributeContext attributeContext) {
// TODO Auto-generated method stub
String ins=(String)session.getAttribute("insComp");
logger.info("In Preparer Ins company is::::::"+ins);
attributeContext.putAttribute("breadcrumbshead", new Attribute(ins));
}
}