2017-08-15 95 views
0

將我們的應用程序從struts 2.3升級到2.5時,出現以下錯誤。 org.apache.tiles.request不存在Apache Tiles - 從Struts2.3升級到2.5時出錯

包是我們已修改爲執行方法的代碼。

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)); 
    } 
} 
+0

歡迎來到StackOverflow。儘量使問題的標題儘可能清楚,例如從您使用的技術開始,然後問題是什麼。如果我是你,我還會首先寫一行來解釋錯誤或下面的代碼,而不是首先將代碼放在後面,然後解釋我們剛剛閱讀的內容。 –

回答

0

我從來沒有與Apache瓷磚的工作,但由於錯誤是:

包org.apache.tiles.request不存在

而且由於它之後發生更新你提到。在我看來,你應該爲org.apache.tiles.request添加一個新的版本。

如果您正在使用Maven構建你的應用程序,你應該在pom.xml改變depency這一個:

<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