Apache Tiles - 从 Struts2.3 升级到 2.5 时出错



将我们的应用程序从 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));
}
}

我从未使用过Apache Tile,但是由于错误是:

包 org.apache.tiles.request 不存在

而且由于它发生在您提到的更新之后。在我看来,您应该为 org.apache.tiles.request 添加一个新版本。

如果您使用 maven 来构建您的应用程序,您应该在 pom 中更改 pom.xml 属性到这个:

<dependency>
<groupId>org.apache.struts</groupId>
<artifactId>struts2-tiles3-plugin</artifactId>
<version>${version.tiles}</version>
<scope>compile</scope>
</dependency>

您可以在以下链接中阅读有关此内容的更多信息:

https://struts.apache.org/docs/tiles-3-plugin.html

最新更新